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