diff options
author | Chris Lattner <sabre@nondot.org> | 2002-02-12 17:17:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-02-12 17:17:33 +0000 |
commit | eeeaf52ab6918ce309ad5e14f1e226e5c1d2c9a9 (patch) | |
tree | 833dc5eed9f0d24ab0fd83a9d2677fd6ae86ed90 | |
parent | d3db02248264b3ede56753cbb28df9d4ae45a1dd (diff) |
Enable register promotion pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1740 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/opt/opt.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index ab2668daae..13a07748af 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -24,6 +24,7 @@ #include "llvm/Transforms/Scalar/ConstantProp.h" #include "llvm/Transforms/Scalar/IndVarSimplify.h" #include "llvm/Transforms/Scalar/InstructionCombining.h" +#include "llvm/Transforms/Scalar/PromoteMemoryToRegister.h" #include "llvm/Transforms/Instrumentation/TraceValues.h" #include "Support/CommandLine.h" #include <fstream> @@ -38,7 +39,7 @@ enum Opts { trace, tracem, print, raiseallocs, cleangcc, // More powerful optimizations - indvars, instcombine, sccp, adce, raise, + indvars, instcombine, sccp, adce, raise, mem2reg, // Interprocedural optimizations... globaldce, swapstructs, sortstructs, @@ -87,6 +88,8 @@ struct { { sccp , New<SCCPPass> }, { adce , New<AgressiveDCE> }, { raise , New<RaisePointerReferences> }, + { mem2reg , newPromoteMemoryToRegister }, + { trace , New<InsertTraceCode, bool, true, bool, true> }, { tracem , New<InsertTraceCode, bool, false, bool, true> }, { print , NewPrintMethodPass }, @@ -120,6 +123,7 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags, clEnumVal(instcombine, "Combine redundant instructions"), clEnumVal(sccp , "Sparse Conditional Constant Propogation"), clEnumVal(adce , "Agressive DCE"), + clEnumVal(mem2reg , "Promote alloca locations to registers"), clEnumVal(globaldce , "Remove unreachable globals"), clEnumVal(swapstructs, "Swap structure types around"), |