From a1b02a2380242f72db833763db64060ef117f471 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Sun, 29 Nov 2009 07:18:39 +0000 Subject: 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 --- clang/tools/clang-cc/Options.cpp | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'clang/tools/clang-cc') 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 GenerateDebugInfo("g", llvm::cl::desc("Generate source level debug information")); +static llvm::cl::opt +MAsmVerbose("masm-verbose", llvm::cl::desc("Generate verbose assembly output")); + +static llvm::cl::opt +MCodeModel("mcode-model", llvm::cl::desc("The code model to use")); + +static llvm::cl::opt +MDebugPass("mdebu-pass", llvm::cl::desc("Output additional debug information")); + +static llvm::cl::opt +MDisableFPElim("mdisable-fp-elim", + llvm::cl::desc("Disable frame pointer elimination optimization")); + +static llvm::cl::opt +MLimitFloatPrecision("mlimit-float-precision", + llvm::cl::desc("Limit float precision to the given value")); + +static llvm::cl::opt +MNoZeroInitializedInBSS("mno-zero-initialized-in-bss", + llvm::cl::desc("Do not put zero initialized data in the BSS")); + +static llvm::cl::opt +MRelocationModel("mrelocation-model", + llvm::cl::desc("The relocation model to use"), + llvm::cl::init("pic")); + +static llvm::cl::opt +MUnwindTables("munwind-tables", + llvm::cl::desc("Generate unwinding tables for all functions")); + static llvm::cl::opt 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; -- cgit v1.2.3