diff options
-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') |