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
diff --git a/tools/lto2/LTOCodeGenerator.cpp b/tools/lto2/LTOCodeGenerator.cpp
index 5b7a067..d82279d 100644
--- a/tools/lto2/LTOCodeGenerator.cpp
+++ b/tools/lto2/LTOCodeGenerator.cpp
@@ -386,6 +386,8 @@
     // 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());