aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-08-27 22:42:52 +0000
committerChris Lattner <sabre@nondot.org>2006-08-27 22:42:52 +0000
commit7f8897f22e88271cfa114998a4d6088e7c8e8e11 (patch)
treebf5610a6be6233216bdaa701a92527bc23b86cff
parent21a82e6fc718b4a2cc0281a4a43477ba940d3586 (diff)
eliminate RegisterOpt. It does the same thing as RegisterPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/PassSupport.h47
-rw-r--r--lib/Analysis/AliasAnalysisCounter.cpp2
-rw-r--r--lib/Analysis/AliasAnalysisEvaluator.cpp2
-rw-r--r--lib/Analysis/AliasSetTracker.cpp2
-rw-r--r--lib/Analysis/BasicAliasAnalysis.cpp4
-rw-r--r--lib/Analysis/DataStructure/DataStructureAA.cpp2
-rw-r--r--lib/Analysis/DataStructure/DataStructureOpt.cpp2
-rw-r--r--lib/Analysis/DataStructure/Steensgaard.cpp4
-rw-r--r--lib/Analysis/IPA/Andersens.cpp4
-rw-r--r--lib/Analysis/IPA/CallGraph.cpp2
-rw-r--r--lib/Analysis/IPA/GlobalsModRef.cpp4
-rw-r--r--lib/Analysis/LoadValueNumbering.cpp2
-rw-r--r--lib/Analysis/ProfileInfo.cpp2
-rw-r--r--lib/Analysis/ProfileInfoLoaderPass.cpp2
-rw-r--r--lib/Analysis/ValueNumbering.cpp2
-rw-r--r--lib/CodeGen/UnreachableBlockElim.cpp2
-rw-r--r--lib/Transforms/Hello/Hello.cpp5
-rw-r--r--lib/Transforms/IPO/ArgumentPromotion.cpp4
-rw-r--r--lib/Transforms/IPO/ConstantMerge.cpp2
-rw-r--r--lib/Transforms/IPO/DeadArgumentElimination.cpp2
-rw-r--r--lib/Transforms/IPO/DeadTypeElimination.cpp2
-rw-r--r--lib/Transforms/IPO/FunctionResolution.cpp8
-rw-r--r--lib/Transforms/IPO/GlobalDCE.cpp2
-rw-r--r--lib/Transforms/IPO/GlobalOpt.cpp7
-rw-r--r--lib/Transforms/IPO/IPConstantPropagation.cpp6
-rw-r--r--lib/Transforms/IPO/IndMemRemoval.cpp2
-rw-r--r--lib/Transforms/IPO/InlineSimple.cpp2
-rw-r--r--lib/Transforms/IPO/Internalize.cpp2
-rw-r--r--lib/Transforms/IPO/LoopExtractor.cpp6
-rw-r--r--lib/Transforms/IPO/LowerSetJmp.cpp2
-rw-r--r--lib/Transforms/IPO/PruneEH.cpp2
-rw-r--r--lib/Transforms/IPO/RaiseAllocations.cpp2
-rw-r--r--lib/Transforms/IPO/SimplifyLibCalls.cpp4
-rw-r--r--lib/Transforms/IPO/StripSymbols.cpp5
-rw-r--r--lib/Transforms/Instrumentation/BlockProfiling.cpp6
-rw-r--r--lib/Transforms/Instrumentation/EdgeProfiling.cpp4
-rw-r--r--lib/Transforms/Instrumentation/EmitFunctions.cpp2
-rw-r--r--lib/Transforms/Instrumentation/RSProfiling.cpp6
-rw-r--r--lib/Transforms/Instrumentation/TraceBasicBlocks.cpp2
-rw-r--r--lib/Transforms/Instrumentation/TraceValues.cpp4
-rw-r--r--lib/Transforms/LevelRaise.cpp2
-rw-r--r--lib/Transforms/Scalar/ADCE.cpp2
-rw-r--r--lib/Transforms/Scalar/BasicBlockPlacement.cpp4
-rw-r--r--lib/Transforms/Scalar/CondPropagate.cpp2
-rw-r--r--lib/Transforms/Scalar/ConstantProp.cpp3
-rw-r--r--lib/Transforms/Scalar/CorrelatedExprs.cpp2
-rw-r--r--lib/Transforms/Scalar/DCE.cpp4
-rw-r--r--lib/Transforms/Scalar/DeadStoreElimination.cpp2
-rw-r--r--lib/Transforms/Scalar/GCSE.cpp2
-rw-r--r--lib/Transforms/Scalar/IndVarSimplify.cpp2
-rw-r--r--lib/Transforms/Scalar/InstructionCombining.cpp2
-rw-r--r--lib/Transforms/Scalar/LICM.cpp2
-rw-r--r--lib/Transforms/Scalar/LoopStrengthReduce.cpp3
-rw-r--r--lib/Transforms/Scalar/LoopUnroll.cpp2
-rw-r--r--lib/Transforms/Scalar/LoopUnswitch.cpp2
-rw-r--r--lib/Transforms/Scalar/LowerGC.cpp2
-rw-r--r--lib/Transforms/Scalar/LowerPacked.cpp2
-rw-r--r--lib/Transforms/Scalar/Reassociate.cpp2
-rw-r--r--lib/Transforms/Scalar/Reg2Mem.cpp2
-rw-r--r--lib/Transforms/Scalar/SCCP.cpp4
-rw-r--r--lib/Transforms/Scalar/ScalarReplAggregates.cpp2
-rw-r--r--lib/Transforms/Scalar/SimplifyCFG.cpp2
-rw-r--r--lib/Transforms/Scalar/TailDuplication.cpp2
-rw-r--r--lib/Transforms/Scalar/TailRecursionElimination.cpp2
-rw-r--r--lib/Transforms/Utils/BreakCriticalEdges.cpp2
-rw-r--r--lib/Transforms/Utils/LCSSA.cpp2
-rw-r--r--lib/Transforms/Utils/LoopSimplify.cpp2
-rw-r--r--lib/Transforms/Utils/LowerAllocations.cpp2
-rw-r--r--lib/Transforms/Utils/LowerInvoke.cpp2
-rw-r--r--lib/Transforms/Utils/LowerSelect.cpp2
-rw-r--r--lib/Transforms/Utils/LowerSwitch.cpp2
-rw-r--r--lib/Transforms/Utils/Mem2Reg.cpp2
-rw-r--r--lib/Transforms/Utils/UnifyFunctionExitNodes.cpp2
-rw-r--r--lib/VMCore/AsmWriter.cpp4
-rw-r--r--lib/VMCore/Verifier.cpp2
-rw-r--r--tools/bugpoint/ExtractFunction.cpp2
76 files changed, 107 insertions, 149 deletions
diff --git a/include/llvm/PassSupport.h b/include/llvm/PassSupport.h
index 95702c0cfa..5f8a1458c2 100644
--- a/include/llvm/PassSupport.h
+++ b/include/llvm/PassSupport.h
@@ -208,53 +208,6 @@ struct RegisterPass : public RegisterPassBase {
}
};
-/// RegisterOpt - Register something that is to show up in Opt, this is just a
-/// shortcut for specifying RegisterPass...
-///
-template<typename PassName>
-struct RegisterOpt : public RegisterPassBase {
- RegisterOpt(const char *PassArg, const char *Name, bool CFGOnly = false)
- : RegisterPassBase(Name, PassArg, typeid(PassName),
- callDefaultCtor<PassName>) {
- if (CFGOnly) setOnlyUsesCFG();
- }
-
- /// Register Pass using default constructor explicitly...
- ///
- RegisterOpt(const char *PassArg, const char *Name, Pass *(*ctor)(),
- bool CFGOnly = false)
- : RegisterPassBase(Name, PassArg, typeid(PassName), ctor) {
- if (CFGOnly) setOnlyUsesCFG();
- }
-
- /// Register FunctionPass using default constructor explicitly...
- ///
- RegisterOpt(const char *PassArg, const char *Name, FunctionPass *(*ctor)(),
- bool CFGOnly = false)
- : RegisterPassBase(Name, PassArg, typeid(PassName),
- static_cast<Pass*(*)()>(ctor)) {
- if (CFGOnly) setOnlyUsesCFG();
- }
-
- /// Register Pass using TargetMachine constructor...
- ///
- RegisterOpt(const char *PassArg, const char *Name,
- Pass *(*targetctor)(TargetMachine &), bool CFGOnly = false)
- : RegisterPassBase(Name, PassArg, typeid(PassName), 0, targetctor) {
- if (CFGOnly) setOnlyUsesCFG();
- }
-
- /// Register FunctionPass using TargetMachine constructor...
- ///
- RegisterOpt(const char *PassArg, const char *Name,
- FunctionPass *(*targetctor)(TargetMachine &),
- bool CFGOnly = false)
- : RegisterPassBase(Name, PassArg, typeid(PassName), 0,
- static_cast<Pass*(*)(TargetMachine&)>(targetctor)) {
- if (CFGOnly) setOnlyUsesCFG();
- }
-};
-
/// RegisterAnalysisGroup - Register a Pass as a member of an analysis _group_.
/// Analysis groups are used to define an interface (which need not derive from
diff --git a/lib/Analysis/AliasAnalysisCounter.cpp b/lib/Analysis/AliasAnalysisCounter.cpp
index 8c8cb3e1d4..562b4f50b8 100644
--- a/lib/Analysis/AliasAnalysisCounter.cpp
+++ b/lib/Analysis/AliasAnalysisCounter.cpp
@@ -109,7 +109,7 @@ namespace {
}
};
- RegisterOpt<AliasAnalysisCounter>
+ RegisterPass<AliasAnalysisCounter>
X("count-aa", "Count Alias Analysis Query Responses");
RegisterAnalysisGroup<AliasAnalysis, AliasAnalysisCounter> Y;
}
diff --git a/lib/Analysis/AliasAnalysisEvaluator.cpp b/lib/Analysis/AliasAnalysisEvaluator.cpp
index f42fde8997..9f5a46df10 100644
--- a/lib/Analysis/AliasAnalysisEvaluator.cpp
+++ b/lib/Analysis/AliasAnalysisEvaluator.cpp
@@ -70,7 +70,7 @@ namespace {
bool doFinalization(Module &M);
};
- RegisterOpt<AAEval>
+ RegisterPass<AAEval>
X("aa-eval", "Exhaustive Alias Analysis Precision Evaluator");
}
diff --git a/lib/Analysis/AliasSetTracker.cpp b/lib/Analysis/AliasSetTracker.cpp
index 16c652117f..6d09b65c6b 100644
--- a/lib/Analysis/AliasSetTracker.cpp
+++ b/lib/Analysis/AliasSetTracker.cpp
@@ -568,5 +568,5 @@ namespace {
return false;
}
};
- RegisterOpt<AliasSetPrinter> X("print-alias-sets", "Alias Set Printer");
+ RegisterPass<AliasSetPrinter> X("print-alias-sets", "Alias Set Printer");
}
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp
index e2b8ed198d..2c5fc81b15 100644
--- a/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/lib/Analysis/BasicAliasAnalysis.cpp
@@ -72,7 +72,7 @@ namespace {
};
// Register this pass...
- RegisterOpt<NoAA>
+ RegisterPass<NoAA>
U("no-aa", "No Alias Analysis (always returns 'may' alias)");
// Declare that we implement the AliasAnalysis interface
@@ -117,7 +117,7 @@ namespace {
};
// Register this pass...
- RegisterOpt<BasicAliasAnalysis>
+ RegisterPass<BasicAliasAnalysis>
X("basicaa", "Basic Alias Analysis (default AA impl)");
// Declare that we implement the AliasAnalysis interface
diff --git a/lib/Analysis/DataStructure/DataStructureAA.cpp b/lib/Analysis/DataStructure/DataStructureAA.cpp
index 1ea1d88947..bbb2ba21f3 100644
--- a/lib/Analysis/DataStructure/DataStructureAA.cpp
+++ b/lib/Analysis/DataStructure/DataStructureAA.cpp
@@ -96,7 +96,7 @@ namespace {
};
// Register the pass...
- RegisterOpt<DSAA> X("ds-aa", "Data Structure Graph Based Alias Analysis");
+ RegisterPass<DSAA> X("ds-aa", "Data Structure Graph Based Alias Analysis");
// Register as an implementation of AliasAnalysis
RegisterAnalysisGroup<AliasAnalysis, DSAA> Y;
diff --git a/lib/Analysis/DataStructure/DataStructureOpt.cpp b/lib/Analysis/DataStructure/DataStructureOpt.cpp
index c464aee1a1..56748832ab 100644
--- a/lib/Analysis/DataStructure/DataStructureOpt.cpp
+++ b/lib/Analysis/DataStructure/DataStructureOpt.cpp
@@ -47,7 +47,7 @@ namespace {
bool OptimizeGlobals(Module &M);
};
- RegisterOpt<DSOpt> X("ds-opt", "DSA-based simple optimizations");
+ RegisterPass<DSOpt> X("ds-opt", "DSA-based simple optimizations");
}
ModulePass *llvm::createDSOptPass() { return new DSOpt(); }
diff --git a/lib/Analysis/DataStructure/Steensgaard.cpp b/lib/Analysis/DataStructure/Steensgaard.cpp
index 8a8391ff2a..8a98022869 100644
--- a/lib/Analysis/DataStructure/Steensgaard.cpp
+++ b/lib/Analysis/DataStructure/Steensgaard.cpp
@@ -73,8 +73,8 @@ namespace {
};
// Register the pass...
- RegisterOpt<Steens> X("steens-aa",
- "Steensgaard's alias analysis (DSGraph based)");
+ RegisterPass<Steens> X("steens-aa",
+ "Steensgaard's alias analysis (DSGraph based)");
// Register as an implementation of AliasAnalysis
RegisterAnalysisGroup<AliasAnalysis, Steens> Y;
diff --git a/lib/Analysis/IPA/Andersens.cpp b/lib/Analysis/IPA/Andersens.cpp
index 1fc70e62a3..bc80f5b956 100644
--- a/lib/Analysis/IPA/Andersens.cpp
+++ b/lib/Analysis/IPA/Andersens.cpp
@@ -336,8 +336,8 @@ namespace {
void visitInstruction(Instruction &I);
};
- RegisterOpt<Andersens> X("anders-aa",
- "Andersen's Interprocedural Alias Analysis");
+ RegisterPass<Andersens> X("anders-aa",
+ "Andersen's Interprocedural Alias Analysis");
RegisterAnalysisGroup<AliasAnalysis, Andersens> Y;
}
diff --git a/lib/Analysis/IPA/CallGraph.cpp b/lib/Analysis/IPA/CallGraph.cpp
index 23a7599ce5..8836807bfc 100644
--- a/lib/Analysis/IPA/CallGraph.cpp
+++ b/lib/Analysis/IPA/CallGraph.cpp
@@ -182,7 +182,7 @@ private:
};
RegisterAnalysisGroup<CallGraph> X("Call Graph");
-RegisterOpt<BasicCallGraph> Y("basiccg", "Basic CallGraph Construction");
+RegisterPass<BasicCallGraph> Y("basiccg", "Basic CallGraph Construction");
RegisterAnalysisGroup<CallGraph, BasicCallGraph, true> Z;
} //End anonymous namespace
diff --git a/lib/Analysis/IPA/GlobalsModRef.cpp b/lib/Analysis/IPA/GlobalsModRef.cpp
index 4765b096b3..6739dfbf0e 100644
--- a/lib/Analysis/IPA/GlobalsModRef.cpp
+++ b/lib/Analysis/IPA/GlobalsModRef.cpp
@@ -135,8 +135,8 @@ namespace {
std::vector<Function*> &Writers);
};
- RegisterOpt<GlobalsModRef> X("globalsmodref-aa",
- "Simple mod/ref analysis for globals");
+ RegisterPass<GlobalsModRef> X("globalsmodref-aa",
+ "Simple mod/ref analysis for globals");
RegisterAnalysisGroup<AliasAnalysis, GlobalsModRef> Y;
}
diff --git a/lib/Analysis/LoadValueNumbering.cpp b/lib/Analysis/LoadValueNumbering.cpp
index 7169b3c168..bac80c8d98 100644
--- a/lib/Analysis/LoadValueNumbering.cpp
+++ b/lib/Analysis/LoadValueNumbering.cpp
@@ -81,7 +81,7 @@ namespace {
};
// Register this pass...
- RegisterOpt<LoadVN> X("load-vn", "Load Value Numbering");
+ RegisterPass<LoadVN> X("load-vn", "Load Value Numbering");
// Declare that we implement the ValueNumbering interface
RegisterAnalysisGroup<ValueNumbering, LoadVN> Y;
diff --git a/lib/Analysis/ProfileInfo.cpp b/lib/Analysis/ProfileInfo.cpp
index fa3af80044..b8ab88b8f2 100644
--- a/lib/Analysis/ProfileInfo.cpp
+++ b/lib/Analysis/ProfileInfo.cpp
@@ -85,7 +85,7 @@ namespace {
struct NoProfileInfo : public ImmutablePass, public ProfileInfo {};
// Register this pass...
- RegisterOpt<NoProfileInfo>
+ RegisterPass<NoProfileInfo>
X("no-profile", "No Profile Information");
// Declare that we implement the ProfileInfo interface
diff --git a/lib/Analysis/ProfileInfoLoaderPass.cpp b/lib/Analysis/ProfileInfoLoaderPass.cpp
index 354c871ff2..57e3627c53 100644
--- a/lib/Analysis/ProfileInfoLoaderPass.cpp
+++ b/lib/Analysis/ProfileInfoLoaderPass.cpp
@@ -49,7 +49,7 @@ namespace {
virtual bool runOnModule(Module &M);
};
- RegisterOpt<LoaderPass>
+ RegisterPass<LoaderPass>
X("profile-loader", "Load profile information from llvmprof.out");
RegisterAnalysisGroup<ProfileInfo, LoaderPass> Y;
diff --git a/lib/Analysis/ValueNumbering.cpp b/lib/Analysis/ValueNumbering.cpp
index c534bba4dc..fb3bed0553 100644
--- a/lib/Analysis/ValueNumbering.cpp
+++ b/lib/Analysis/ValueNumbering.cpp
@@ -60,7 +60,7 @@ namespace {
};
// Register this pass...
- RegisterOpt<BasicVN>
+ RegisterPass<BasicVN>
X("basicvn", "Basic Value Numbering (default GVN impl)");
// Declare that we implement the ValueNumbering interface
diff --git a/lib/CodeGen/UnreachableBlockElim.cpp b/lib/CodeGen/UnreachableBlockElim.cpp
index fe334849ac..951deb60d9 100644
--- a/lib/CodeGen/UnreachableBlockElim.cpp
+++ b/lib/CodeGen/UnreachableBlockElim.cpp
@@ -35,7 +35,7 @@ namespace {
class VISIBILITY_HIDDEN UnreachableBlockElim : public FunctionPass {
virtual bool runOnFunction(Function &F);
};
- RegisterOpt<UnreachableBlockElim>
+ RegisterPass<UnreachableBlockElim>
X("unreachableblockelim", "Remove unreachable blocks from the CFG");
}
diff --git a/lib/Transforms/Hello/Hello.cpp b/lib/Transforms/Hello/Hello.cpp
index 804c3a70b2..cfa879a32d 100644
--- a/lib/Transforms/Hello/Hello.cpp
+++ b/lib/Transforms/Hello/Hello.cpp
@@ -34,7 +34,7 @@ namespace {
return false;
}
};
- RegisterOpt<Hello> X("hello", "Hello World Pass");
+ RegisterPass<Hello> X("hello", "Hello World Pass");
// Hello2 - The second implementation with getAnalysisUsage implemented.
struct Hello2 : public FunctionPass {
@@ -52,5 +52,6 @@ namespace {
AU.setPreservesAll();
};
};
- RegisterOpt<Hello2> Y("hello2", "Hello World Pass (with getAnalysisUsage implemented)");
+ RegisterPass<Hello2> Y("hello2",
+ "Hello World Pass (with getAnalysisUsage implemented)");
}
diff --git a/lib/Transforms/IPO/ArgumentPromotion.cpp b/lib/Transforms/IPO/ArgumentPromotion.cpp
index 960e36ba54..5183d43bc7 100644
--- a/lib/Transforms/IPO/ArgumentPromotion.cpp
+++ b/lib/Transforms/IPO/ArgumentPromotion.cpp
@@ -72,8 +72,8 @@ namespace {
Function *DoPromotion(Function *F, std::vector<Argument*> &ArgsToPromote);
};
- RegisterOpt<ArgPromotion> X("argpromotion",
- "Promote 'by reference' arguments to scalars");
+ RegisterPass<ArgPromotion> X("argpromotion",
+ "Promote 'by reference' arguments to scalars");
}
ModulePass *llvm::createArgumentPromotionPass() {
diff --git a/lib/Transforms/IPO/ConstantMerge.cpp b/lib/Transforms/IPO/ConstantMerge.cpp
index 220d0d8722..aca42fe23b 100644
--- a/lib/Transforms/IPO/ConstantMerge.cpp
+++ b/lib/Transforms/IPO/ConstantMerge.cpp
@@ -33,7 +33,7 @@ namespace {
bool runOnModule(Module &M);
};
- RegisterOpt<ConstantMerge> X("constmerge","Merge Duplicate Global Constants");
+ RegisterPass<ConstantMerge>X("constmerge","Merge Duplicate Global Constants");
}
ModulePass *llvm::createConstantMergePass() { return new ConstantMerge(); }
diff --git a/lib/Transforms/IPO/DeadArgumentElimination.cpp b/lib/Transforms/IPO/DeadArgumentElimination.cpp
index e1feed922e..08d92a5c63 100644
--- a/lib/Transforms/IPO/DeadArgumentElimination.cpp
+++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp
@@ -93,7 +93,7 @@ namespace {
void RemoveDeadArgumentsFromFunction(Function *F);
};
- RegisterOpt<DAE> X("deadargelim", "Dead Argument Elimination");
+ RegisterPass<DAE> X("deadargelim", "Dead Argument Elimination");
/// DAH - DeadArgumentHacking pass - Same as dead argument elimination, but
/// deletes arguments to functions which are external. This is only for use
diff --git a/lib/Transforms/IPO/DeadTypeElimination.cpp b/lib/Transforms/IPO/DeadTypeElimination.cpp
index 005d6bd600..57e5fa3109 100644
--- a/lib/Transforms/IPO/DeadTypeElimination.cpp
+++ b/lib/Transforms/IPO/DeadTypeElimination.cpp
@@ -36,7 +36,7 @@ namespace {
AU.addRequired<FindUsedTypes>();
}
};
- RegisterOpt<DTE> X("deadtypeelim", "Dead Type Elimination");
+ RegisterPass<DTE> X("deadtypeelim", "Dead Type Elimination");
Statistic<>
NumKilled("deadtypeelim", "Number of unused typenames removed from symtab");
}
diff --git a/lib/Transforms/IPO/FunctionResolution.cpp b/lib/Transforms/IPO/FunctionResolution.cpp
index d8b1a862ea..a514b92b5f 100644
--- a/lib/Transforms/IPO/FunctionResolution.cpp
+++ b/lib/Transforms/IPO/FunctionResolution.cpp
@@ -43,7 +43,7 @@ namespace {
bool runOnModule(Module &M);
};
- RegisterOpt<FunctionResolvingPass> X("funcresolve", "Resolve Functions");
+ RegisterPass<FunctionResolvingPass> X("funcresolve", "Resolve Functions");
}
ModulePass *llvm::createFunctionResolvingPass() {
@@ -314,7 +314,8 @@ bool FunctionResolvingPass::runOnModule(Module &M) {
Globals[F->getName()].push_back(F);
}
- for (Module::global_iterator I = M.global_begin(), E = M.global_end(); I != E; ) {
+ for (Module::global_iterator I = M.global_begin(), E = M.global_end();
+ I != E; ) {
GlobalVariable *GV = I++;
if (GV->use_empty() && GV->isExternal()) {