aboutsummaryrefslogtreecommitdiff
path: root/tools/shared.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/shared.py')
-rw-r--r--tools/shared.py13
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 &not 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')