comparison dmd/mars.h @ 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 e7f0c2b48047
children e961851fb8be
comparison
equal deleted inserted replaced
1169:2bff538fa3b9 1170:e40c65bd8c5d
136 { 136 {
137 bool obj; // write object file 137 bool obj; // write object file
138 bool link; // perform link 138 bool link; // perform link
139 bool verbose; // verbose compile 139 bool verbose; // verbose compile
140 char symdebug; // insert debug symbolic information 140 char symdebug; // insert debug symbolic information
141 #if !IN_LLVM
142 // LDC uses a different mechanism
141 bool optimize; // run optimizer 143 bool optimize; // run optimizer
142 char optimizeLevel; // optimization level 144 char optimizeLevel; // optimization level
145 #endif
143 ARCH cpu; // target CPU 146 ARCH cpu; // target CPU
144 OS os; // target OS 147 OS os; // target OS
145 bool is64bit; // generate 64 bit code 148 bool is64bit; // generate 64 bit code
146 bool isLE; // generate little endian code 149 bool isLE; // generate little endian code
147 bool useDeprecated; // allow use of deprecated features 150 bool useDeprecated; // allow use of deprecated features
208 // LDC stuff 211 // LDC stuff
209 OUTPUTFLAG output_ll; 212 OUTPUTFLAG output_ll;
210 OUTPUTFLAG output_bc; 213 OUTPUTFLAG output_bc;
211 OUTPUTFLAG output_s; 214 OUTPUTFLAG output_s;
212 OUTPUTFLAG output_o; 215 OUTPUTFLAG output_o;
213 bool llvmInline;
214 bool llvmAnnotate; 216 bool llvmAnnotate;
215 bool useInlineAsm; 217 bool useInlineAsm;
216 218
217 // target stuff 219 // target stuff
218 const char* llvmArch; 220 const char* llvmArch;