diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-05-04 23:05:19 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-05-04 23:05:19 +0000 |
commit | 712e80e188c306125e32e46e9ed5db9dfc2f7cc9 (patch) | |
tree | 019bd7b1cde78e95910b61c87ae3e6eb69cf9d0d | |
parent | b0030ddca469b3372630b0c01c21245ef0027aa0 (diff) |
Default llc / lli optimization to "Default", which corresponds to -O1 / -O2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70934 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/llc/llc.cpp | 8 | ||||
-rw-r--r-- | tools/lli/lli.cpp | 28 |
2 files changed, 25 insertions, 11 deletions
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index e5560dad05..4808f0e529 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -55,10 +55,11 @@ OutputFilename("o", cl::desc("Output filename"), cl::value_desc("filename")); static cl::opt<bool> Force("f", cl::desc("Overwrite output files")); -// Determine optimization level. Level -O0 is equivalent to "fast" code gen. +// Determine optimization level. static cl::opt<char> OptLevel("O", - cl::desc("Optimization level. [-O0, -O1, -O2, or -O3]"), + cl::desc("Optimization level. [-O0, -O1, -O2, or -O3] " + "(default = '-O2')"), cl::Prefix, cl::ZeroOrMore, cl::init(' ')); @@ -253,8 +254,7 @@ int main(int argc, char **argv) { raw_ostream *Out = GetOutputStream(argv[0]); if (Out == 0) return 1; - CodeGenOpt::Level OLvl = CodeGenOpt::Aggressive; - + CodeGenOpt::Level OLvl = CodeGenOpt::Default; switch (OptLevel) { default: std::cerr << argv[0] << ": invalid optimization level.\n"; diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp index 812e52c8a9..6d3cbbc1f5 100644 --- a/tools/lli/lli.cpp +++ b/tools/lli/lli.cpp @@ -43,10 +43,14 @@ namespace { cl::desc("Force interpretation: disable JIT"), cl::init(false)); - cl::opt<bool> Fast("fast", - cl::desc("Generate code quickly, " - "potentially sacrificing code quality"), - cl::init(false)); + // Determine optimization level. + cl::opt<char> + OptLevel("O", + cl::desc("Optimization level. [-O0, -O1, -O2, or -O3] " + "(default = '-O2')"), + cl::Prefix, + cl::ZeroOrMore, + cl::init(' ')); cl::opt<std::string> TargetTriple("mtriple", cl::desc("Override target triple for module")); @@ -122,9 +126,19 @@ int main(int argc, char **argv, char * const *envp) { if (!TargetTriple.empty()) Mod->setTargetTriple(TargetTriple); - EE = ExecutionEngine::create(MP, ForceInterpreter, &ErrorMsg, - Fast ? - CodeGenOpt::None : CodeGenOpt::Aggressive); + CodeGenOpt::Level OLvl = CodeGenOpt::Default; + switch (OptLevel) { + default: + std::cerr << argv[0] << ": invalid optimization level.\n"; + return 1; + case ' ': break; + case '0': OLvl = CodeGenOpt::None; break; + case '1': + case '2': OLvl = CodeGenOpt::Default; break; + case '3': OLvl = CodeGenOpt::Aggressive; break; + } + + EE = ExecutionEngine::create(MP, ForceInterpreter, &ErrorMsg, OLvl); if (!EE && !ErrorMsg.empty()) { std::cerr << argv[0] << ":error creating EE: " << ErrorMsg << "\n"; exit(1); |