summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-05-10 22:44:37 +0000
committerChris Lattner <sabre@nondot.org>2002-05-10 22:44:37 +0000
commit81525db280b77cc7c907f5fb6e7613bed7b7df41 (patch)
tree20d46ee7a884952b52f4a385b406e0d2aae9ccdc
parent47d923c2e0f2e5e67ad1a3b82e417fe0ddc6ba59 (diff)
downloadbcm5719-llvm-81525db280b77cc7c907f5fb6e7613bed7b7df41.tar.gz
bcm5719-llvm-81525db280b77cc7c907f5fb6e7613bed7b7df41.zip
expose LICM pass
llvm-svn: 2614
-rw-r--r--llvm/tools/opt/opt.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/tools/opt/opt.cpp b/llvm/tools/opt/opt.cpp
index 6de7529ec4f..3eedc7c1b6b 100644
--- a/llvm/tools/opt/opt.cpp
+++ b/llvm/tools/opt/opt.cpp
@@ -38,7 +38,8 @@ static TargetData TD("opt target");
// 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 @@ struct {
{ die , createDeadInstEliminationPass },
{ constprop , createConstantPropogationPass },
{ gcse , createGCSEPass },
+ { licm , createLICMPass },
{ inlining , createFunctionInliningPass },
{ constmerge , createConstantMergePass },
{ strip , createSymbolStrippingPass },
@@ -128,6 +130,7 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
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"),
OpenPOWER on IntegriCloud