diff options
author | Chris Lattner <sabre@nondot.org> | 2002-07-23 18:06:35 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-07-23 18:06:35 +0000 |
commit | f629309f74cf1a64aa7fd1cd5784fd7db9a8f59e (patch) | |
tree | baf1f59f5f0ba41f4bd1711c4155bbe328e6d041 /lib/Transforms/Scalar | |
parent | af41a12370010325eb163b734d5757a7f0296e67 (diff) |
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3016 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar')
-rw-r--r-- | lib/Transforms/Scalar/ADCE.cpp | 4 | ||||
-rw-r--r-- | lib/Transforms/Scalar/ConstantProp.cpp | 4 | ||||
-rw-r--r-- | lib/Transforms/Scalar/DCE.cpp | 8 | ||||
-rw-r--r-- | lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp | 5 | ||||
-rw-r--r-- | lib/Transforms/Scalar/GCSE.cpp | 6 | ||||
-rw-r--r-- | lib/Transforms/Scalar/IndVarSimplify.cpp | 7 | ||||
-rw-r--r-- | lib/Transforms/Scalar/InstructionCombining.cpp | 4 | ||||
-rw-r--r-- | lib/Transforms/Scalar/LICM.cpp | 4 | ||||
-rw-r--r-- | lib/Transforms/Scalar/PiNodeInsertion.cpp | 4 | ||||
-rw-r--r-- | lib/Transforms/Scalar/Reassociate.cpp | 6 | ||||
-rw-r--r-- | lib/Transforms/Scalar/SCCP.cpp | 7 | ||||
-rw-r--r-- | lib/Transforms/Scalar/SimplifyCFG.cpp | 3 | ||||
-rw-r--r-- | lib/Transforms/Scalar/SymbolStripping.cpp | 6 |
13 files changed, 28 insertions, 40 deletions
diff --git a/lib/Transforms/Scalar/ADCE.cpp b/lib/Transforms/Scalar/ADCE.cpp index 35189e3683..d70980e207 100644 --- a/lib/Transforms/Scalar/ADCE.cpp +++ b/lib/Transforms/Scalar/ADCE.cpp @@ -43,8 +43,6 @@ class ADCE : public FunctionPass { // The public interface for this class // public: - const char *getPassName() const { return "Aggressive Dead Code Elimination"; } - // Execute the Aggressive Dead Code Elimination Algorithm // virtual bool runOnFunction(Function &F) { @@ -86,11 +84,11 @@ private: } }; + RegisterPass<ADCE> X("adce", "Aggressive Dead Code Elimination"); } // End of anonymous namespace Pass *createAggressiveDCEPass() { return new ADCE(); } - void ADCE::markBlockAlive(BasicBlock *BB) { // Mark the basic block as being newly ALIVE... and mark all branches that // this block is control dependant on as being alive also... diff --git a/lib/Transforms/Scalar/ConstantProp.cpp b/lib/Transforms/Scalar/ConstantProp.cpp index 51bd6cb32f..025b8a79b2 100644 --- a/lib/Transforms/Scalar/ConstantProp.cpp +++ b/lib/Transforms/Scalar/ConstantProp.cpp @@ -24,14 +24,14 @@ static Statistic<> NumInstKilled("constprop - Number of instructions killed"); namespace { struct ConstantPropogation : public FunctionPass { - const char *getPassName() const { return "Simple Constant Propogation"; } - bool runOnFunction(Function &F); virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.preservesCFG(); } }; + +RegisterPass<ConstantPropogation> X("constprop", "Simple constant propogation"); } Pass *createConstantPropogationPass() { diff --git a/lib/Transforms/Scalar/DCE.cpp b/lib/Transforms/Scalar/DCE.cpp index 1f5def63e4..bfc41b14bc 100644 --- a/lib/Transforms/Scalar/DCE.cpp +++ b/lib/Transforms/Scalar/DCE.cpp @@ -26,8 +26,6 @@ static Statistic<> DCEEliminated("dce\t\t- Number of insts removed"); namespace { struct DeadInstElimination : public BasicBlockPass { - const char *getPassName() const { return "Dead Instruction Elimination"; } - virtual bool runOnBasicBlock(BasicBlock &BB) { bool Changed = false; for (BasicBlock::iterator DI = BB.begin(); DI != BB.end(); ) @@ -43,6 +41,8 @@ namespace { AU.preservesCFG(); } }; + + RegisterPass<DeadInstElimination> X("die", "Dead Instruction Elimination"); } Pass *createDeadInstEliminationPass() { @@ -57,14 +57,14 @@ Pass *createDeadInstEliminationPass() { namespace { struct DCE : public FunctionPass { - const char *getPassName() const { return "Dead Code Elimination"; } - virtual bool runOnFunction(Function &F); virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.preservesCFG(); } }; + + RegisterPass<DCE> Y("dce", "Dead Code Elimination"); } bool DCE::runOnFunction(Function &F) { diff --git a/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp b/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp index b18095027b..5d873cda2e 100644 --- a/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp +++ b/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp @@ -21,13 +21,14 @@ static Statistic<> NumAdded("lowerrefs\t\t- New instructions added"); namespace { struct DecomposePass : public BasicBlockPass { - const char *getPassName() const { return "Decompose Subscripting Exps"; } - virtual bool runOnBasicBlock(BasicBlock &BB); private: static void decomposeArrayRef(BasicBlock::iterator &BBI); }; + +RegisterPass<DecomposePass> X("lowerrefs", "Decompose multi-dimensional " + "structure/array references"); } Pass *createDecomposeMultiDimRefsPass() { diff --git a/lib/Transforms/Scalar/GCSE.cpp b/lib/Transforms/Scalar/GCSE.cpp index 56bb191e16..568f3db4f3 100644 --- a/lib/Transforms/Scalar/GCSE.cpp +++ b/lib/Transforms/Scalar/GCSE.cpp @@ -42,10 +42,6 @@ namespace { // map<BasicBlock*, bool> BBContainsStore; public: - const char *getPassName() const { - return "Global Common Subexpression Elimination"; - } - virtual bool runOnFunction(Function &F); // Visitation methods, these are invoked depending on the type of @@ -87,6 +83,8 @@ namespace { AU.addRequired(ImmediateDominators::ID); } }; + + RegisterPass<GCSE> X("gcse", "Global Common Subexpression Elimination"); } // createGCSEPass - The public interface to this file... diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp index acd1deb711..35fe697f0f 100644 --- a/lib/Transforms/Scalar/IndVarSimplify.cpp +++ b/lib/Transforms/Scalar/IndVarSimplify.cpp @@ -184,10 +184,6 @@ static bool TransformLoop(LoopInfo *Loops, Loop *Loop) { namespace { struct InductionVariableSimplify : public FunctionPass { - const char *getPassName() const { - return "Induction Variable Cannonicalize"; - } - virtual bool runOnFunction(Function &) { LoopInfo &LI = getAnalysis<LoopInfo>(); @@ -202,9 +198,10 @@ namespace { AU.preservesCFG(); } }; + RegisterPass<InductionVariableSimplify> X("indvars", + "Cannonicalize Induction Variables"); } Pass *createIndVarSimplifyPass() { return new InductionVariableSimplify(); } - diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 1ff2c0fecd..ba2bbe0b05 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -46,8 +46,6 @@ namespace { } public: - const char *getPassName() const { return "Instruction Combining"; } - virtual bool runOnFunction(Function &F); virtual void getAnalysisUsage(AnalysisUsage &AU) const { @@ -80,6 +78,8 @@ namespace { // visitInstruction - Specify what to return for unhandled instructions... Instruction *visitInstruction(Instruction &I) { return 0; } }; + + RegisterPass<InstCombiner> X("instcombine", "Combine redundant instructions"); } diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp index 99ee45e3cd..99450bbd25 100644 --- a/lib/Transforms/Scalar/LICM.cpp +++ b/lib/Transforms/Scalar/LICM.cpp @@ -34,8 +34,6 @@ static Statistic<> NumHoistedPH("licm\t\t- Number of insts hoisted to a loop " namespace { struct LICM : public FunctionPass, public InstVisitor<LICM> { - const char *getPassName() const { return "Loop Invariant Code Motion"; } - virtual bool runOnFunction(Function &F); // This transformation requires natural loop information... @@ -104,6 +102,8 @@ namespace { hoist(I); } }; + + RegisterPass<LICM> X("licm", "Loop Invariant Code Motion"); } Pass *createLICMPass() { return new LICM(); } diff --git a/lib/Transforms/Scalar/PiNodeInsertion.cpp b/lib/Transforms/Scalar/PiNodeInsertion.cpp index 2c16049684..81f3cb3e93 100644 --- a/lib/Transforms/Scalar/PiNodeInsertion.cpp +++ b/lib/Transforms/Scalar/PiNodeInsertion.cpp @@ -40,8 +40,6 @@ static Statistic<> NumInserted("pinodes\t\t- Number of Pi nodes inserted"); namespace { struct PiNodeInserter : public FunctionPass { - const char *getPassName() const { return "Pi Node Insertion"; } - virtual bool runOnFunction(Function &F); virtual void getAnalysisUsage(AnalysisUsage &AU) const { @@ -56,6 +54,8 @@ namespace { // bool insertPiNodeFor(Value *V, BasicBlock *BB, Value *Rep = 0); }; + + RegisterPass<PiNodeInserter> X("pinodes", "Pi Node Insertion"); } Pass *createPiNodeInsertionPass() { return new PiNodeInserter(); } diff --git a/lib/Transforms/Scalar/Reassociate.cpp b/lib/Transforms/Scalar/Reassociate.cpp index 7ccbd7bf42..05758039d9 100644 --- a/lib/Transforms/Scalar/Reassociate.cpp +++ b/lib/Transforms/Scalar/Reassociate.cpp @@ -35,10 +35,6 @@ namespace { class Reassociate : public FunctionPass { map<BasicBlock*, unsigned> RankMap; public: - const char *getPassName() const { - return "Expression Reassociation"; - } - bool runOnFunction(Function &F); virtual void getAnalysisUsage(AnalysisUsage &AU) const { @@ -50,6 +46,8 @@ namespace { bool ReassociateExpr(BinaryOperator *I); bool ReassociateBB(BasicBlock *BB); }; + + RegisterPass<Reassociate> X("reassociate", "Reassociate expressions"); } Pass *createReassociatePass() { return new Reassociate(); } diff --git a/lib/Transforms/Scalar/SCCP.cpp b/lib/Transforms/Scalar/SCCP.cpp index 4d752e9589..b32481e48b 100644 --- a/lib/Transforms/Scalar/SCCP.cpp +++ b/lib/Transforms/Scalar/SCCP.cpp @@ -94,10 +94,6 @@ class SCCP : public FunctionPass, public InstVisitor<SCCP> { std::vector<BasicBlock*> BBWorkList; // The BasicBlock work list public: - const char *getPassName() const { - return "Sparse Conditional Constant Propogation"; - } - // runOnFunction - Run the Sparse Conditional Constant Propogation algorithm, // and return true if the function was modified. // @@ -223,6 +219,8 @@ private: visit(I); } }; + + RegisterPass<SCCP> X("sccp", "Sparse Conditional Constant Propogation"); } // end anonymous namespace @@ -233,7 +231,6 @@ Pass *createSCCPPass() { } - //===----------------------------------------------------------------------===// // SCCP Class Implementation diff --git a/lib/Transforms/Scalar/SimplifyCFG.cpp b/lib/Transforms/Scalar/SimplifyCFG.cpp index 08611d2349..6774dc17a3 100644 --- a/lib/Transforms/Scalar/SimplifyCFG.cpp +++ b/lib/Transforms/Scalar/SimplifyCFG.cpp @@ -24,10 +24,9 @@ static Statistic<> NumSimpl("cfgsimplify\t- Number of blocks simplified"); namespace { struct CFGSimplifyPass : public FunctionPass { - const char *getPassName() const { return "Simplify CFG"; } - virtual bool runOnFunction(Function &F); }; + RegisterPass<CFGSimplifyPass> X("simplifycfg", "Simplify the CFG"); } Pass *createCFGSimplificationPass() { diff --git a/lib/Transforms/Scalar/SymbolStripping.cpp b/lib/Transforms/Scalar/SymbolStripping.cpp index 46f4e4477c..4ad5af3a7f 100644 --- a/lib/Transforms/Scalar/SymbolStripping.cpp +++ b/lib/Transforms/Scalar/SymbolStripping.cpp @@ -44,8 +44,6 @@ static bool StripSymbolTable(SymbolTable *SymTab) { namespace { struct SymbolStripping : public FunctionPass { - const char *getPassName() const { return "Strip Symbols from Functions"; } - virtual bool runOnFunction(Function &F) { return StripSymbolTable(F.getSymbolTable()); } @@ -53,13 +51,15 @@ namespace { AU.setPreservesAll(); } }; + RegisterPass<SymbolStripping> X("strip", "Strip symbols from functions"); struct FullSymbolStripping : public SymbolStripping { - const char *getPassName() const { return "Strip Symbols from Module"; } virtual bool doInitialization(Module &M) { return StripSymbolTable(M.getSymbolTable()); } }; + RegisterPass<FullSymbolStripping> Y("mstrip", + "Strip symbols from module and functions"); } Pass *createSymbolStrippingPass() { |