Move constant merging pass earlier
authorChris Lattner <sabre@nondot.org>
Mon, 29 Apr 2002 20:11:38 +0000 (20:11 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 29 Apr 2002 20:11:38 +0000 (20:11 +0000)
Include the SCCP pass in gccas

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2410 91177308-0d34-0410-b5e6-96231b3b80d8

tools/gccas/gccas.cpp

index ef502c22f9f235d190f779291a323adcc4aa960c..ce22ccdaf3b1e727d681c11c344d22399637f7e8 100644 (file)
@@ -14,6 +14,7 @@
 #include "llvm/Transforms/LevelChange.h"
 #include "llvm/Transforms/ConstantMerge.h"
 #include "llvm/Transforms/ChangeAllocations.h"
+#include "llvm/Transforms/Scalar/ConstantProp.h"
 #include "llvm/Transforms/Scalar/DCE.h"
 #include "llvm/Transforms/Scalar/GCSE.h"
 #include "llvm/Transforms/Scalar/IndVarSimplify.h"
@@ -73,6 +74,7 @@ int main(int argc, char **argv) {
   //
   PassManager Passes;
   Passes.add(createFunctionResolvingPass());      // Resolve (...) functions
+  Passes.add(createConstantMergePass());          // Merge dup global constants
   Passes.add(createDeadInstEliminationPass());    // Remove Dead code/vars
   Passes.add(createRaiseAllocationsPass());       // call %malloc -> malloc inst
   Passes.add(createCleanupGCCOutputPass());       // Fix gccisms
@@ -80,9 +82,9 @@ int main(int argc, char **argv) {
   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
+    Passes.add(createSCCPPass());                   // Constant prop with SCCP
     Passes.add(createGCSEPass());                   // Remove common subexprs
   }
   Passes.add(new WriteBytecodePass(&Out));        // Write bytecode to file...