Move the PromoteMemoryToRegister pass to be run _after_ the raise pointer
references pass, so it is given the chance to do some good!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2089 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp
index 235dadf..3f52e00 100644
--- a/tools/gccas/gccas.cpp
+++ b/tools/gccas/gccas.cpp
@@ -70,11 +70,11 @@
PassManager Passes;
Passes.add(createDeadInstEliminationPass()); // Remove Dead code/vars
Passes.add(createRaiseAllocationsPass()); // call %malloc -> malloc inst
- Passes.add(createPromoteMemoryToRegister()); // memory->register promotion
Passes.add(createCleanupGCCOutputPass()); // Fix gccisms
Passes.add(createIndVarSimplifyPass()); // Simplify indvars
if (!StopAtLevelRaise) {
Passes.add(createRaisePointerReferencesPass()); // Eliminate casts
+ Passes.add(createPromoteMemoryToRegister()); // Promote alloca's to regs
Passes.add(createConstantMergePass()); // Merge dup global consts
Passes.add(createInstructionCombiningPass()); // Combine silly seq's
Passes.add(createDeadCodeEliminationPass()); // Remove Dead code/vars