diff options
author | Chris Lattner <sabre@nondot.org> | 2001-10-18 01:31:43 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2001-10-18 01:31:43 +0000 |
commit | 6db0f4795cbd9b58add13c2b2f0c7124112ab9b7 (patch) | |
tree | 74ce4d150f026a5c340b4c73e7399d6c6bee450a | |
parent | 05e5e070ee73309025e11bea0c15d7fc9c25fea6 (diff) |
* Passes return true if they change something, not if they fail
* Convert opt to use Pass's and convert optimizations to pass structure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@870 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/opt/opt.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 973a78ff8d..3d62ef8ebf 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -39,17 +39,17 @@ enum Opts { struct { enum Opts OptID; - bool (*OptPtr)(Module *C); + Pass *ThePass; } OptTable[] = { - { dce , DoDeadCodeElimination }, - { constprop, DoConstantPropogation }, - { inlining , DoMethodInlining }, - { strip , DoSymbolStripping }, - { mstrip , DoFullSymbolStripping }, - { indvars , DoInductionVariableCannonicalize }, - { sccp , DoSCCP }, - { adce , DoADCE }, - { raise , DoRaiseRepresentation }, + { dce , new opt::DeadCodeElimination() }, + { constprop, new opt::ConstantPropogation() }, + { inlining , new opt::MethodInlining() }, + { strip , new opt::SymbolStripping() }, + { mstrip , new opt::FullSymbolStripping() }, + { indvars , new opt::InductionVariableCannonicalize() }, + { sccp , new opt::SCCPPass() }, + { adce , new opt::AgressiveDCE() }, + { raise , new opt::RaiseRepresentation() }, }; cl::String InputFilename ("", "Load <arg> file to optimize", cl::NoFlags, "-"); @@ -86,7 +86,7 @@ int main(int argc, char **argv) { unsigned j; for (j = 0; j < sizeof(OptTable)/sizeof(OptTable[0]); ++j) { if (Opt == OptTable[j].OptID) { - if (OptTable[j].OptPtr(C) && !Quiet) + if (OptTable[j].ThePass->run(C) && !Quiet) cerr << OptimizationList.getArgName(Opt) << " pass made modifications!\n"; break; |