aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-06-25 16:54:18 +0000
committerChris Lattner <sabre@nondot.org>2008-06-25 16:54:18 +0000
commitc4ab7acc0b87dda1eb4209ca25cf862aa77ca34d (patch)
tree75d9095d69d39096c3a6c3fee6f455407fb27a1b
parent6c31e87d7cdbbc997659ef6c732b6bca96751a01 (diff)
jump threading can introduce allocas, make sure we promote
them back to registers! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52729 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/lto2/LTOCodeGenerator.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/lto2/LTOCodeGenerator.cpp b/tools/lto2/LTOCodeGenerator.cpp
index 5b7a067b4c..d82279d494 100644
--- a/tools/lto2/LTOCodeGenerator.cpp
+++ b/tools/lto2/LTOCodeGenerator.cpp
@@ -386,6 +386,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.
+ passes.add(createPromoteMemoryToRegisterPass()); // Cleanup after threading.
+
// Delete basic blocks, which optimization passes may have killed...
passes.add(createCFGSimplificationPass());