diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-11-30 08:39:32 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-30 08:39:32 +0000 |
commit | 3636e1d784aedb37052aa235966e4fdbe7ed9082 (patch) | |
tree | 9472dfe8aa141c291b4ac6c77faa3368b10f595f | |
parent | ae8e17e85acde7d7f3274d0957afa88995ea3cd7 (diff) |
Eliminate CodeGenOptions::SimplifyLibCalls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90117 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/CodeGen/CodeGenOptions.h | 4 | ||||
-rw-r--r-- | lib/Driver/CC1Options.cpp | 3 | ||||
-rw-r--r-- | lib/Frontend/Backend.cpp | 10 | ||||
-rw-r--r-- | tools/clang-cc/Options.cpp | 3 |
4 files changed, 7 insertions, 13 deletions
diff --git a/include/clang/CodeGen/CodeGenOptions.h b/include/clang/CodeGen/CodeGenOptions.h index 31fd7b4bf1..2effa46f96 100644 --- a/include/clang/CodeGen/CodeGenOptions.h +++ b/include/clang/CodeGen/CodeGenOptions.h @@ -43,8 +43,6 @@ public: unsigned NoZeroInitializedInBSS : 1; /// -fno-zero-initialized-in-bss unsigned OptimizationLevel : 3; /// The -O[0-4] option specified. unsigned OptimizeSize : 1; /// If -Os is specified. - unsigned SimplifyLibCalls : 1; /// Should standard library calls be treated - /// specially. unsigned TimePasses : 1; /// Set when -ftime-report is enabled. unsigned UnitAtATime : 1; /// Unused. For mirroring GCC optimization /// selection. @@ -85,7 +83,7 @@ public: NoZeroInitializedInBSS = 0; OptimizationLevel = 0; OptimizeSize = 0; - SimplifyLibCalls = UnrollLoops = 0; + UnrollLoops = 0; TimePasses = 0; UnitAtATime = 1; UnwindTables = 0; diff --git a/lib/Driver/CC1Options.cpp b/lib/Driver/CC1Options.cpp index b99ecec5a5..103f645103 100644 --- a/lib/Driver/CC1Options.cpp +++ b/lib/Driver/CC1Options.cpp @@ -177,7 +177,6 @@ static void ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, Opts.NoCommon = Args.hasArg(OPT_fno_common); Opts.NoImplicitFloat = Args.hasArg(OPT_no_implicit_float); Opts.OptimizeSize = Args.hasArg(OPT_Os); - Opts.SimplifyLibCalls = 1; Opts.UnrollLoops = (Opts.OptimizationLevel > 1 && !Opts.OptimizeSize); Opts.AsmVerbose = Args.hasArg(OPT_masm_verbose); @@ -193,8 +192,6 @@ static void ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, // FIXME: Implement! // FIXME: Eliminate this dependency? -// if (Lang.NoBuiltin) -// Opts.SimplifyLibCalls = 0; // if (Lang.CPlusPlus) // Opts.NoCommon = 1; // Opts.TimePasses = TimePasses; diff --git a/lib/Frontend/Backend.cpp b/lib/Frontend/Backend.cpp index 12bb5a81dc..e895a66697 100644 --- a/lib/Frontend/Backend.cpp +++ b/lib/Frontend/Backend.cpp @@ -38,8 +38,9 @@ using namespace llvm; namespace { class BackendConsumer : public ASTConsumer { BackendAction Action; - CodeGenOptions CodeGenOpts; - TargetOptions TargetOpts; + const CodeGenOptions &CodeGenOpts; + const LangOptions &LangOpts; + const TargetOptions &TargetOpts; llvm::raw_ostream *AsmOutStream; llvm::formatted_raw_ostream FormattedOutStream; ASTContext *Context; @@ -79,6 +80,7 @@ namespace { llvm::raw_ostream* OS, LLVMContext& C) : Action(action), CodeGenOpts(compopts), + LangOpts(langopts), TargetOpts(targetopts), AsmOutStream(OS), LLVMIRGeneration("LLVM IR Generation Time"), @@ -249,7 +251,7 @@ bool BackendConsumer::AddEmitPasses(std::string &Error) { if (TargetOpts.CPU.size() || TargetOpts.Features.size()) { SubtargetFeatures Features; Features.setCPU(TargetOpts.CPU); - for (std::vector<std::string>::iterator + for (std::vector<std::string>::const_iterator it = TargetOpts.Features.begin(), ie = TargetOpts.Features.end(); it != ie; ++it) Features.AddFeature(*it); @@ -336,7 +338,7 @@ void BackendConsumer::CreatePasses() { llvm::createStandardModulePasses(PM, OptLevel, CodeGenOpts.OptimizeSize, CodeGenOpts.UnitAtATime, CodeGenOpts.UnrollLoops, - CodeGenOpts.SimplifyLibCalls, + /*SimplifyLibCalls=*/!LangOpts.NoBuiltin, /*HaveExceptions=*/true, InliningPass); } diff --git a/tools/clang-cc/Options.cpp b/tools/clang-cc/Options.cpp index 2436873d47..710a928da6 100644 --- a/tools/clang-cc/Options.cpp +++ b/tools/clang-cc/Options.cpp @@ -814,7 +814,6 @@ void clang::InitializeCodeGenOptions(CodeGenOptions &Opts, Opts.NoCommon = NoCommon; Opts.NoImplicitFloat = NoImplicitFloat; Opts.OptimizeSize = OptSize; - Opts.SimplifyLibCalls = 1; Opts.UnrollLoops = (Opts.OptimizationLevel > 1 && !OptSize); // LLVM Code Generator options. @@ -829,8 +828,6 @@ void clang::InitializeCodeGenOptions(CodeGenOptions &Opts, Opts.RelocationModel = MRelocationModel; // FIXME: Eliminate this dependency? - if (Lang.NoBuiltin) - Opts.SimplifyLibCalls = 0; if (Lang.CPlusPlus) Opts.NoCommon = 1; Opts.TimePasses = TimePasses; |