Mercurial > projects > ldc
comparison gen/main.cpp @ 1170:e40c65bd8c5d
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)
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 29 Mar 2009 15:46:55 +0200 |
parents | 5ebe8224988b |
children | a95fc9fcad5c |
comparison
equal
deleted
inserted
replaced
1169:2bff538fa3b9 | 1170:e40c65bd8c5d |
---|---|
189 #endif | 189 #endif |
190 | 190 |
191 // Handle fixed-up arguments! | 191 // Handle fixed-up arguments! |
192 cl::SetVersionPrinter(&printVersion); | 192 cl::SetVersionPrinter(&printVersion); |
193 cl::ParseCommandLineOptions(final_args.size(), (char**)&final_args[0], "LLVM-based D Compiler\n", true); | 193 cl::ParseCommandLineOptions(final_args.size(), (char**)&final_args[0], "LLVM-based D Compiler\n", true); |
194 | |
195 global.params.optimize = (global.params.optimizeLevel >= 0); | |
196 | 194 |
197 // Negated options | 195 // Negated options |
198 global.params.link = !compileOnly; | 196 global.params.link = !compileOnly; |
199 global.params.obj = !dontWriteObj; | 197 global.params.obj = !dontWriteObj; |
200 global.params.useInlineAsm = !noAsm; | 198 global.params.useInlineAsm = !noAsm; |