diff options
author | Chris Lattner <sabre@nondot.org> | 2008-06-25 16:54:18 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-06-25 16:54:18 +0000 |
commit | c4ab7acc0b87dda1eb4209ca25cf862aa77ca34d (patch) | |
tree | 75d9095d69d39096c3a6c3fee6f455407fb27a1b | |
parent | 6c31e87d7cdbbc997659ef6c732b6bca96751a01 (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.cpp | 2 |
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()); |