diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2009-11-29 07:18:39 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-29 07:18:39 +0000 |
| commit | a1b02a2380242f72db833763db64060ef117f471 (patch) | |
| tree | e7b5a9e6b32e139a1bcfff70f84b4bb25e10ab34 /clang/tools/clang-cc | |
| parent | 8404b5485af62e691f23daa7cae32e373a6d1454 (diff) | |
| download | bcm5719-llvm-a1b02a2380242f72db833763db64060ef117f471.tar.gz bcm5719-llvm-a1b02a2380242f72db833763db64060ef117f471.zip | |
Move LLVM backend options to explicit clang-cc / clang -cc1 options, which we then manually pass to the command line library; eventually the latter grossness should be fixed by a real API when creating the target machine.
llvm-svn: 90063
Diffstat (limited to 'clang/tools/clang-cc')
| -rw-r--r-- | clang/tools/clang-cc/Options.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/clang/tools/clang-cc/Options.cpp b/clang/tools/clang-cc/Options.cpp index 2bcad53a3f2..2436873d473 100644 --- a/clang/tools/clang-cc/Options.cpp +++ b/clang/tools/clang-cc/Options.cpp @@ -141,6 +141,36 @@ static llvm::cl::opt<bool> GenerateDebugInfo("g", llvm::cl::desc("Generate source level debug information")); +static llvm::cl::opt<bool> +MAsmVerbose("masm-verbose", llvm::cl::desc("Generate verbose assembly output")); + +static llvm::cl::opt<std::string> +MCodeModel("mcode-model", llvm::cl::desc("The code model to use")); + +static llvm::cl::opt<std::string> +MDebugPass("mdebu-pass", llvm::cl::desc("Output additional debug information")); + +static llvm::cl::opt<bool> +MDisableFPElim("mdisable-fp-elim", + llvm::cl::desc("Disable frame pointer elimination optimization")); + +static llvm::cl::opt<std::string> +MLimitFloatPrecision("mlimit-float-precision", + llvm::cl::desc("Limit float precision to the given value")); + +static llvm::cl::opt<bool> +MNoZeroInitializedInBSS("mno-zero-initialized-in-bss", + llvm::cl::desc("Do not put zero initialized data in the BSS")); + +static llvm::cl::opt<std::string> +MRelocationModel("mrelocation-model", + llvm::cl::desc("The relocation model to use"), + llvm::cl::init("pic")); + +static llvm::cl::opt<bool> +MUnwindTables("munwind-tables", + llvm::cl::desc("Generate unwinding tables for all functions")); + static llvm::cl::opt<std::string> MainFileName("main-file-name", llvm::cl::desc("Main file name to use for debug info")); @@ -787,6 +817,17 @@ void clang::InitializeCodeGenOptions(CodeGenOptions &Opts, Opts.SimplifyLibCalls = 1; Opts.UnrollLoops = (Opts.OptimizationLevel > 1 && !OptSize); + // LLVM Code Generator options. + + Opts.AsmVerbose = MAsmVerbose; + Opts.CodeModel = MCodeModel; + Opts.DebugPass = MDebugPass; + Opts.DisableFPElim = MDisableFPElim; + Opts.LimitFloatPrecision = MLimitFloatPrecision; + Opts.NoZeroInitializedInBSS = MNoZeroInitializedInBSS; + Opts.UnwindTables = MUnwindTables; + Opts.RelocationModel = MRelocationModel; + // FIXME: Eliminate this dependency? if (Lang.NoBuiltin) Opts.SimplifyLibCalls = 0; |

