diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-09-04 10:52:59 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-09-04 10:52:59 -0700 |
commit | 391fb94d3f3ceb218bb2a7920ad40ac6e7f70529 (patch) | |
tree | 466195b13b4f74ffc646c90e0be2ce8614f33f87 | |
parent | ff8ea20b9b60ef0425c82390314608f31927524e (diff) |
fix llvm opts for 3.0
-rw-r--r-- | tests/runner.py | 6 | ||||
-rw-r--r-- | tools/shared.py | 9 |
2 files changed, 10 insertions, 5 deletions
diff --git a/tests/runner.py b/tests/runner.py index 19e703f1..381bea07 100644 --- a/tests/runner.py +++ b/tests/runner.py @@ -79,6 +79,7 @@ class RunnerCore(unittest.TestCase): if LLVM_OPTS: shutil.move(filename + '.o', filename + '.o.pre') output = Popen([LLVM_OPT, filename + '.o.pre'] + LLVM_OPT_OPTS + ['-o=' + filename + '.o'], stdout=PIPE, stderr=STDOUT).communicate()[0] + assert os.path.exists(filename + '.o'), 'Failed to run llvm optimizations: ' + output def do_llvm_dis(self, filename): # LLVM binary ==> LLVM assembly @@ -86,8 +87,8 @@ class RunnerCore(unittest.TestCase): os.remove(filename + '.o.ll') except: pass - Popen([LLVM_DIS, filename + '.o'] + LLVM_DIS_OPTS + ['-o=' + filename + '.o.ll'], stdout=PIPE, stderr=STDOUT).communicate()[0] - assert os.path.exists(filename + '.o.ll'), 'Could not create .ll file' + output = Popen([LLVM_DIS, filename + '.o'] + LLVM_DIS_OPTS + ['-o=' + filename + '.o.ll'], stdout=PIPE, stderr=STDOUT).communicate()[0] + assert os.path.exists(filename + '.o.ll'), 'Could not create .ll file: ' + output def do_llvm_as(self, source, target): # LLVM assembly ==> LLVM binary @@ -145,6 +146,7 @@ class RunnerCore(unittest.TestCase): # C++ => LLVM binary os.chdir(dirname) cwd = os.getcwd() + for f in [filename] + additional_files: try: # Make sure we notice if compilation steps failed diff --git a/tools/shared.py b/tools/shared.py index cc466e68..84f50f5e 100644 --- a/tools/shared.py +++ b/tools/shared.py @@ -78,7 +78,7 @@ def pick_llvm_opts(optimization_level, optimize_size, allow_nonportable=False, u 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 @@ -118,7 +118,8 @@ def pick_llvm_opts(optimization_level, optimize_size, allow_nonportable=False, u 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') |