summaryrefslogtreecommitdiffstats
path: root/llvm/tools/lto2/LTOCodeGenerator.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-04-21 04:31:40 +0000
committerChris Lattner <sabre@nondot.org>2008-04-21 04:31:40 +0000
commit0645b888524c089ea2377a1574ea4e54c3e8c65a (patch)
tree6834189b2cd929d472f70e1f3a70b505a49604df /llvm/tools/lto2/LTOCodeGenerator.cpp
parentba994f7cdf5d326a3bc79ba529f101c6027bf259 (diff)
downloadbcm5719-llvm-0645b888524c089ea2377a1574ea4e54c3e8c65a.tar.gz
bcm5719-llvm-0645b888524c089ea2377a1574ea4e54c3e8c65a.zip
Add jump threading to liblto.
llvm-svn: 50028
Diffstat (limited to 'llvm/tools/lto2/LTOCodeGenerator.cpp')
-rw-r--r--llvm/tools/lto2/LTOCodeGenerator.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/tools/lto2/LTOCodeGenerator.cpp b/llvm/tools/lto2/LTOCodeGenerator.cpp
index 4c5850acb4f..b7962be50be 100644
--- a/llvm/tools/lto2/LTOCodeGenerator.cpp
+++ b/llvm/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());
OpenPOWER on IntegriCloud