From: Chris Lattner Date: Mon, 21 Apr 2008 04:31:40 +0000 (+0000) Subject: Add jump threading to liblto. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=1d40281ae65bb27445c1b75fc244af6b3a5b5af6;p=oota-llvm.git Add jump threading to liblto. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50028 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/lto2/LTOCodeGenerator.cpp b/tools/lto2/LTOCodeGenerator.cpp index 4c5850acb4f..b7962be50be 100644 --- a/tools/lto2/LTOCodeGenerator.cpp +++ b/tools/lto2/LTOCodeGenerator.cpp @@ -370,7 +370,7 @@ bool LTOCodeGenerator::generateAssemblyCode(std::ostream& out, std::string& errM // The IPO passes may leave cruft around. Clean up after them. passes.add(createInstructionCombiningPass()); - + passes.add(createJumpThreadingPass()); // Thread jumps. passes.add(createScalarReplAggregatesPass()); // Break up allocas // Run a few AA driven optimizations here and now, to cleanup the code. @@ -384,6 +384,8 @@ bool LTOCodeGenerator::generateAssemblyCode(std::ostream& out, std::string& errM // Cleanup and simplify the code after the scalar optimizations. passes.add(createInstructionCombiningPass()); + passes.add(createJumpThreadingPass()); // Thread jumps. + // Delete basic blocks, which optimization passes may have killed... passes.add(createCFGSimplificationPass());