Expose new GCSE pass
authorChris Lattner <sabre@nondot.org>
Sun, 28 Apr 2002 00:48:17 +0000 (00:48 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 28 Apr 2002 00:48:17 +0000 (00:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2339 91177308-0d34-0410-b5e6-96231b3b80d8

tools/opt/opt.cpp

index 2b6f8e32ef39f6b97e49d382f7b391e863d1dd91..c4870d833db8baac71df15b5d091446f8cadc495 100644 (file)
@@ -24,6 +24,7 @@
 #include "llvm/Transforms/IPO/PoolAllocate.h"
 #include "llvm/Transforms/Scalar/DCE.h"
 #include "llvm/Transforms/Scalar/ConstantProp.h"
+#include "llvm/Transforms/Scalar/GCSE.h"
 #include "llvm/Transforms/Scalar/IndVarSimplify.h"
 #include "llvm/Transforms/Scalar/InstructionCombining.h"
 #include "llvm/Transforms/Scalar/PromoteMemoryToRegister.h"
@@ -38,7 +39,7 @@
 // Opts enum - All of the transformations we can do...
 enum Opts {
   // Basic optimizations
-  dce, die, constprop, inlining, constmerge, strip, mstrip, mergereturn,
+  dce, die, constprop, gcse, inlining, constmerge, strip, mstrip, mergereturn,
 
   // Miscellaneous Transformations
   raiseallocs, funcresolve, cleangcc, lowerrefs,
@@ -73,6 +74,7 @@ struct {
   { dce        , createDeadCodeEliminationPass  },
   { die        , createDeadInstEliminationPass  },
   { constprop  , createConstantPropogationPass  }, 
+  { gcse       , createGCSEPass                 },
   { inlining   , createFunctionInliningPass     },
   { constmerge , createConstantMergePass        },
   { strip      , createSymbolStrippingPass      },
@@ -117,6 +119,7 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
   clEnumVal(dce        , "Dead Code Elimination"),
   clEnumVal(die        , "Dead Instruction Elimination"),
   clEnumVal(constprop  , "Simple constant propogation"),
+  clEnumVal(gcse       , "Global Common Subexpression Elimination"),
  clEnumValN(inlining   , "inline", "Function integration"),
   clEnumVal(constmerge , "Merge identical global constants"),
   clEnumVal(strip      , "Strip symbols"),