expose LICM pass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2614 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index 6de7529..3eedc7c 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -38,7 +38,8 @@
 // Opts enum - All of the transformations we can do...
 enum Opts {
   // Basic optimizations
-  dce, die, constprop, gcse, inlining, constmerge, strip, mstrip, mergereturn,
+  dce, die, constprop, gcse, licm, inlining, constmerge,
+  strip, mstrip, mergereturn,
 
   // Miscellaneous Transformations
   raiseallocs, lowerallocs, funcresolve, cleangcc, lowerrefs,
@@ -78,6 +79,7 @@
   { die        , createDeadInstEliminationPass  },
   { constprop  , createConstantPropogationPass  }, 
   { gcse       , createGCSEPass                 },
+  { licm       , createLICMPass                 },
   { inlining   , createFunctionInliningPass     },
   { constmerge , createConstantMergePass        },
   { strip      , createSymbolStrippingPass      },
@@ -128,6 +130,7 @@
   clEnumVal(die        , "Dead Instruction Elimination"),
   clEnumVal(constprop  , "Simple constant propogation"),
   clEnumVal(gcse       , "Global Common Subexpression Elimination"),
+  clEnumVal(licm       , "Loop Invariant Code Motion"),
  clEnumValN(inlining   , "inline", "Function integration"),
   clEnumVal(constmerge , "Merge identical global constants"),
   clEnumVal(strip      , "Strip symbols"),