diff options
Diffstat (limited to 'tools/shared.py')
-rw-r--r-- | tools/shared.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/tools/shared.py b/tools/shared.py index 83c921da..cb0d0691 100644 --- a/tools/shared.py +++ b/tools/shared.py @@ -72,13 +72,13 @@ def limit_size(string, MAX=80*20): if len(string) < MAX: return string return string[0:MAX/2] + '\n[..]\n' + string[-MAX/2:] -def pick_llvm_opts(optimization_level, optimize_size, allow_nonportable=False, use_aa=False): +def pick_llvm_opts(optimization_level, optimize_size, allow_nonportable=False, quantum_size=4, use_aa=False): opts = [] if optimization_level > 0: if allow_nonportable: opts.append('-O%d' % optimization_level) else: - # createStandardAliasAnalysisPasses + # PassManagerBuilder::populateModulePassManager if allow_nonportable and use_aa: # ammo.js results indicate this can be nonportable opts.append('-tbaa') opts.append('-basicaa') # makes fannkuch slow but primes fast @@ -114,11 +114,12 @@ def pick_llvm_opts(optimization_level, optimize_size, allow_nonportable=False, u opts.append('-licm') opts.append('-loop-unswitch') # XXX should depend on optimize_size if allow_nonportable: opts.append('-instcombine') - opts.append('-indvars') + if quantum_size == 4: opts.append('-indvars') # XXX this infinite-loops raytrace on q1 (loop in |new node_t[count]| has 68 hardcoded ¬ fixed) if allow_nonportable: opts.append('-loop-idiom') # ? opts.append('-loop-deletion') opts.append('-loop-unroll') - if allow_nonportable: opts.append('-instcombine') + + ##### not in llvm-3.0. but have | #addExtensionsToPM(EP_LoopOptimizerEnd, MPM);| if allow_nonportable: opts.append('-instcombine') # XXX Danger: Messes up Lua output for unknown reasons # Note: this opt is of minor importance for raytrace... @@ -131,11 +132,13 @@ def pick_llvm_opts(optimization_level, optimize_size, allow_nonportable=False, u opts.append('-jump-threading') opts.append('-correlated-propagation') opts.append('-dse') + #addExtensionsToPM(EP_ScalarOptimizerLate, MPM); + opts.append('-adce') opts.append('-simplifycfg') + if allow_nonportable: opts.append('-instcombine') opts.append('-strip-dead-prototypes') - opts.append('-deadtypeelim') if optimization_level > 2: opts.append('-globaldce') |