Allow specific optimization passes to be requested from the command line.

Now you can run "`ldc test.d -c -mem2reg -simplifycfg`" if you feel the urge.
The -O<N> options are still supported, and are inserted in the passes list in
the position where they appear on the command line.
(so -simplifycfg -O1 -instcombine does the "right thing")

One small change: -inline is renamed to -enable-inlining due to a naming
conflict with the option to add the -inline pass. -inline now inserts the
inlining pass in the position specified, not in the middle of -O<N>.
(ldmd has been updated to translate -inline to -enable-inlining)
This commit is contained in:
Frits van Bommel
2009-03-29 15:46:55 +02:00
parent f179acda32
commit e129494812
8 changed files with 115 additions and 54 deletions

View File

@@ -192,8 +192,6 @@ int main(int argc, char** argv)
cl::SetVersionPrinter(&printVersion);
cl::ParseCommandLineOptions(final_args.size(), (char**)&final_args[0], "LLVM-based D Compiler\n", true);
global.params.optimize = (global.params.optimizeLevel >= 0);
// Negated options
global.params.link = !compileOnly;
global.params.obj = !dontWriteObj;