summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-07-26 21:12:46 +0000
committerChris Lattner <sabre@nondot.org>2002-07-26 21:12:46 +0000
commita6275ccdf5e1aa208afde56c498e2b13e16442f0 (patch)
tree2d1245344fa06c38f7d6a9cd21649b6927d25307 /lib
parent1e43516dcf4aa152432447397334cd43744d63e1 (diff)
downloadllvm-a6275ccdf5e1aa208afde56c498e2b13e16442f0.tar.gz
llvm-a6275ccdf5e1aa208afde56c498e2b13e16442f0.tar.bz2
llvm-a6275ccdf5e1aa208afde56c498e2b13e16442f0.tar.xz
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Add support for different "PassType's" * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Remove getPassName implementations from various subclasses git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3113 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Analysis/IPA/FindUnsafePointerTypes.cpp2
-rw-r--r--lib/Analysis/IPA/FindUsedTypes.cpp2
-rw-r--r--lib/Transforms/IPO/InlineSimple.cpp2
-rw-r--r--lib/Transforms/IPO/RaiseAllocations.cpp4
-rw-r--r--lib/Transforms/Instrumentation/EmitFunctions.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/ConstantProp.cpp2
-rw-r--r--lib/Transforms/Scalar/DCE.cpp4
-rw-r--r--lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp4
-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/PiNodeInsertion.cpp2
-rw-r--r--lib/Transforms/Scalar/Reassociate.cpp2
-rw-r--r--lib/Transforms/Scalar/SCCP.cpp2
-rw-r--r--lib/Transforms/Scalar/SimplifyCFG.cpp2
-rw-r--r--lib/Transforms/Scalar/SymbolStripping.cpp6
-rw-r--r--lib/Transforms/Utils/LowerAllocations.cpp2
-rw-r--r--lib/Transforms/Utils/PromoteMemoryToRegister.cpp2
-rw-r--r--lib/VMCore/AsmWriter.cpp6
23 files changed, 34 insertions, 28 deletions
diff --git a/lib/Analysis/IPA/FindUnsafePointerTypes.cpp b/lib/Analysis/IPA/FindUnsafePointerTypes.cpp
index 1180766f15..2678fcf07d 100644
--- a/lib/Analysis/IPA/FindUnsafePointerTypes.cpp
+++ b/lib/Analysis/IPA/FindUnsafePointerTypes.cpp
@@ -23,6 +23,8 @@
#include "llvm/Support/InstIterator.h"
#include "Support/CommandLine.h"
+static RegisterAnalysis<FindUnsafePointerTypes>
+X("unsafepointertypes", "Find Unsafe Pointer Types");
AnalysisID FindUnsafePointerTypes::ID(AnalysisID::create<FindUnsafePointerTypes>());
// Provide a command line option to turn on printing of which instructions cause
diff --git a/lib/Analysis/IPA/FindUsedTypes.cpp b/lib/Analysis/IPA/FindUsedTypes.cpp
index f91b8ae226..1139cf3df8 100644
--- a/lib/Analysis/IPA/FindUsedTypes.cpp
+++ b/lib/Analysis/IPA/FindUsedTypes.cpp
@@ -11,6 +11,8 @@
#include "llvm/Module.h"
#include "llvm/Support/InstIterator.h"
+static RegisterAnalysis<FindUsedTypes>
+X("printusedtypes", "Find Used Types");
AnalysisID FindUsedTypes::ID(AnalysisID::create<FindUsedTypes>());
// IncorporateType - Incorporate one type and all of its subtypes into the
diff --git a/lib/Transforms/IPO/InlineSimple.cpp b/lib/Transforms/IPO/InlineSimple.cpp
index 3c76a339ec..924ad5c93a 100644
--- a/lib/Transforms/IPO/InlineSimple.cpp
+++ b/lib/Transforms/IPO/InlineSimple.cpp
@@ -261,7 +261,7 @@ namespace {
return doFunctionInlining(F);
}
};
- RegisterPass<FunctionInlining> X("inline", "Function Integration/Inlining");
+ RegisterOpt<FunctionInlining> X("inline", "Function Integration/Inlining");
}
Pass *createFunctionInliningPass() { return new FunctionInlining(); }
diff --git a/lib/Transforms/IPO/RaiseAllocations.cpp b/lib/Transforms/IPO/RaiseAllocations.cpp
index fae1767a3e..0f10dad3c4 100644
--- a/lib/Transforms/IPO/RaiseAllocations.cpp
+++ b/lib/Transforms/IPO/RaiseAllocations.cpp
@@ -39,8 +39,8 @@ public:
bool runOnBasicBlock(BasicBlock &BB);
};
-RegisterPass<RaiseAllocations>
-X("raiseallocs", "Raise allocations from calls to instructions");
+ RegisterOpt<RaiseAllocations>
+ X("raiseallocs", "Raise allocations from calls to instructions");
} // end anonymous namespace
diff --git a/lib/Transforms/Instrumentation/EmitFunctions.cpp b/lib/Transforms/Instrumentation/EmitFunctions.cpp
index 3506cb9056..0218a146a6 100644
--- a/lib/Transforms/Instrumentation/EmitFunctions.cpp
+++ b/lib/Transforms/Instrumentation/EmitFunctions.cpp
@@ -17,7 +17,7 @@ namespace {
bool run(Module &M);
};
- RegisterPass<EmitFunctionTable> X("emitfuncs", "Emit a Function Table");
+ RegisterOpt<EmitFunctionTable> X("emitfuncs", "Emit a Function Table");
}
// Create a new pass to add function table
diff --git a/lib/Transforms/Instrumentation/TraceValues.cpp b/lib/Transforms/Instrumentation/TraceValues.cpp
index 52c7c0aa64..3239e73c98 100644
--- a/lib/Transforms/Instrumentation/TraceValues.cpp
+++ b/lib/Transforms/Instrumentation/TraceValues.cpp
@@ -97,8 +97,8 @@ namespace {
};
// Register the passes...
- RegisterPass<FunctionTracer> X("tracem","Insert Function trace code only");
- RegisterPass<BasicBlockTracer> Y("trace","Insert BB and Function trace code");
+ RegisterOpt<FunctionTracer> X("tracem","Insert Function trace code only");
+ RegisterOpt<BasicBlockTracer> Y("trace","Insert BB and Function trace code");
} // end anonymous namespace
diff --git a/lib/Transforms/LevelRaise.cpp b/lib/Transforms/LevelRaise.cpp
index 420cc79c7b..b2008b08a1 100644
--- a/lib/Transforms/LevelRaise.cpp
+++ b/lib/Transforms/LevelRaise.cpp
@@ -545,5 +545,5 @@ Pass *createRaisePointerReferencesPass(const TargetData &TD) {
return new RaisePointerReferences(TD);
}
-static RegisterPass<RaisePointerReferences>
+static RegisterOpt<RaisePointerReferences>
X("raise", "Raise Pointer References", createRaisePointerReferencesPass);
diff --git a/lib/Transforms/Scalar/ADCE.cpp b/lib/Transforms/Scalar/ADCE.cpp
index 058ef1b505..40ae87b5bb 100644
--- a/lib/Transforms/Scalar/ADCE.cpp
+++ b/lib/Transforms/Scalar/ADCE.cpp
@@ -84,7 +84,7 @@ private:
}
};
- RegisterPass<ADCE> X("adce", "Aggressive Dead Code Elimination");
+ RegisterOpt<ADCE> X("adce", "Aggressive Dead Code Elimination");
} // End of anonymous namespace
Pass *createAggressiveDCEPass() { return new ADCE(); }
diff --git a/lib/Transforms/Scalar/ConstantProp.cpp b/lib/Transforms/Scalar/ConstantProp.cpp
index 025b8a79b2..5da909e202 100644
--- a/lib/Transforms/Scalar/ConstantProp.cpp
+++ b/lib/Transforms/Scalar/ConstantProp.cpp
@@ -31,7 +31,7 @@ namespace {
}
};
-RegisterPass<ConstantPropogation> X("constprop", "Simple constant propogation");
+ RegisterOpt<ConstantPropogation> X("constprop","Simple constant propogation");
}
Pass *createConstantPropogationPass() {
diff --git a/lib/Transforms/Scalar/DCE.cpp b/lib/Transforms/Scalar/DCE.cpp
index bfc41b14bc..2903699a8d 100644
--- a/lib/Transforms/Scalar/DCE.cpp
+++ b/lib/Transforms/Scalar/DCE.cpp
@@ -42,7 +42,7 @@ namespace {
}
};
- RegisterPass<DeadInstElimination> X("die", "Dead Instruction Elimination");
+ RegisterOpt<DeadInstElimination> X("die", "Dead Instruction Elimination");
}
Pass *createDeadInstEliminationPass() {
@@ -64,7 +64,7 @@ namespace {
}
};
- RegisterPass<DCE> Y("dce", "Dead Code Elimination");
+ RegisterOpt<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 5d873cda2e..f0a807497a 100644
--- a/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp
+++ b/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp
@@ -27,8 +27,8 @@ namespace {
static void decomposeArrayRef(BasicBlock::iterator &BBI);
};
-RegisterPass<DecomposePass> X("lowerrefs", "Decompose multi-dimensional "
- "structure/array references");
+ RegisterOpt<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 568f3db4f3..c8f8775976 100644
--- a/lib/Transforms/Scalar/GCSE.cpp
+++ b/lib/Transforms/Scalar/GCSE.cpp
@@ -84,7 +84,7 @@ namespace {
}
};
- RegisterPass<GCSE> X("gcse", "Global Common Subexpression Elimination");
+ RegisterOpt<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 35fe697f0f..411ab11fec 100644
--- a/lib/Transforms/Scalar/IndVarSimplify.cpp
+++ b/lib/Transforms/Scalar/IndVarSimplify.cpp
@@ -198,7 +198,7 @@ namespace {
AU.preservesCFG();
}
};
- RegisterPass<InductionVariableSimplify> X("indvars",
+ RegisterOpt<InductionVariableSimplify> X("indvars",
"Cannonicalize Induction Variables");
}
diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp
index ba2bbe0b05..230b553657 100644
--- a/lib/Transforms/Scalar/InstructionCombining.cpp
+++ b/lib/Transforms/Scalar/InstructionCombining.cpp
@@ -79,7 +79,7 @@ namespace {
Instruction *visitInstruction(Instruction &I) { return 0; }
};
- RegisterPass<InstCombiner> X("instcombine", "Combine redundant instructions");
+ RegisterOpt<InstCombiner> X("instcombine", "Combine redundant instructions");
}
diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp
index 99450bbd25..9f3c75705a 100644
--- a/lib/Transforms/Scalar/LICM.cpp
+++ b/lib/Transforms/Scalar/LICM.cpp
@@ -103,7 +103,7 @@ namespace {
}
};
- RegisterPass<LICM> X("licm", "Loop Invariant Code Motion");
+ RegisterOpt<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 81f3cb3e93..399b5fee88 100644
--- a/lib/Transforms/Scalar/PiNodeInsertion.cpp
+++ b/lib/Transforms/Scalar/PiNodeInsertion.cpp
@@ -55,7 +55,7 @@ namespace {
bool insertPiNodeFor(Value *V, BasicBlock *BB, Value *Rep = 0);
};
- RegisterPass<PiNodeInserter> X("pinodes", "Pi Node Insertion");
+ RegisterOpt<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 a6ad88a9ea..24d7dcebe8 100644
--- a/lib/Transforms/Scalar/Reassociate.cpp
+++ b/lib/Transforms/Scalar/Reassociate.cpp
@@ -47,7 +47,7 @@ namespace {
bool ReassociateBB(BasicBlock *BB);
};
- RegisterPass<Reassociate> X("reassociate", "Reassociate expressions");
+ RegisterOpt<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 b32481e48b..b721ca0965 100644
--- a/lib/Transforms/Scalar/SCCP.cpp
+++ b/lib/Transforms/Scalar/SCCP.cpp
@@ -220,7 +220,7 @@ private:
}
};
- RegisterPass<SCCP> X("sccp", "Sparse Conditional Constant Propogation");
+ RegisterOpt<SCCP> X("sccp", "Sparse Conditional Constant Propogation");
} // end anonymous namespace
diff --git a/lib/Transforms/Scalar/SimplifyCFG.cpp b/lib/Transforms/Scalar/SimplifyCFG.cpp
index 6774dc17a3..f26d5a01f8 100644
--- a/lib/Transforms/Scalar/SimplifyCFG.cpp
+++ b/lib/Transforms/Scalar/SimplifyCFG.cpp
@@ -26,7 +26,7 @@ namespace {
struct CFGSimplifyPass : public FunctionPass {
virtual bool runOnFunction(Function &F);
};
- RegisterPass<CFGSimplifyPass> X("simplifycfg", "Simplify the CFG");
+ RegisterOpt<CFGSimplifyPass> X("simplifycfg", "Simplify the CFG");
}
Pass *createCFGSimplificationPass() {
diff --git a/lib/Transforms/Scalar/SymbolStripping.cpp b/lib/Transforms/Scalar/SymbolStripping.cpp
index 4ad5af3a7f..2f3d1aad6a 100644
--- a/lib/Transforms/Scalar/SymbolStripping.cpp
+++ b/lib/Transforms/Scalar/SymbolStripping.cpp
@@ -51,15 +51,15 @@ namespace {
AU.setPreservesAll();
}
};
- RegisterPass<SymbolStripping> X("strip", "Strip symbols from functions");
+ RegisterOpt<SymbolStripping> X("strip", "Strip symbols from functions");
struct FullSymbolStripping : public SymbolStripping {
virtual bool doInitialization(Module &M) {
return StripSymbolTable(M.getSymbolTable());
}
};
- RegisterPass<FullSymbolStripping> Y("mstrip",
- "Strip symbols from module and functions");
+ RegisterOpt<FullSymbolStripping> Y("mstrip",
+ "Strip symbols from module and functions");
}
Pass *createSymbolStrippingPass() {
diff --git a/lib/Transforms/Utils/LowerAllocations.cpp b/lib/Transforms/Utils/LowerAllocations.cpp
index 486061fdf7..7e0960dbf7 100644
--- a/lib/Transforms/Utils/LowerAllocations.cpp
+++ b/lib/Transforms/Utils/LowerAllocations.cpp
@@ -52,7 +52,7 @@ Pass *createLowerAllocationsPass(const TargetData &TD) {
return new LowerAllocations(TD);
}
-static RegisterPass<LowerAllocations>
+static RegisterOpt<LowerAllocations>
X("lowerallocs", "Lower allocations from instructions to calls (TD)",
createLowerAllocationsPass);
diff --git a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
index 378e9799a8..0a92d0d906 100644
--- a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
+++ b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
@@ -66,7 +66,7 @@ namespace {
void FindSafeAllocas(Function &F);
};
- RegisterPass<PromotePass> X("mem2reg", "Promote Memory to Register");
+ RegisterOpt<PromotePass> X("mem2reg", "Promote Memory to Register");
} // end of anonymous namespace
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp
index e33d9f400a..c1af5e4c85 100644
--- a/lib/VMCore/AsmWriter.cpp
+++ b/lib/VMCore/AsmWriter.cpp
@@ -29,8 +29,10 @@ using std::map;
using std::vector;
using std::ostream;
-static RegisterPass<PrintModulePass> X("printm", "Print module to stderr");
-static RegisterPass<PrintFunctionPass> Y("print", "Print function to stderr");
+static RegisterPass<PrintModulePass>
+X("printm", "Print module to stderr",PassInfo::Analysis|PassInfo::Optimization);
+static RegisterPass<PrintFunctionPass>
+Y("print","Print function to stderr",PassInfo::Analysis|PassInfo::Optimization);
static void WriteAsOperandInternal(ostream &Out, const Value *V, bool PrintName,
map<const Type *, string> &TypeTable,