Fix batch of converting RegisterPass<> to INTIALIZE_PASS().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109045 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson 2010-07-21 22:09:45 +00:00
parent 07fdd897e2
commit d13db2c59c
99 changed files with 230 additions and 222 deletions

View File

@ -74,8 +74,8 @@ namespace {
}
char AAEval::ID = 0;
static RegisterPass<AAEval>
X("aa-eval", "Exhaustive Alias Analysis Precision Evaluator", false, true);
INITIALIZE_PASS(AAEval, "aa-eval",
"Exhaustive Alias Analysis Precision Evaluator", false, true);
FunctionPass *llvm::createAAEvalPass() { return new AAEval(); }

View File

@ -600,5 +600,5 @@ namespace {
}
char AliasSetPrinter::ID = 0;
static RegisterPass<AliasSetPrinter>
X("print-alias-sets", "Alias Set Printer", false, true);
INITIALIZE_PASS(AliasSetPrinter, "print-alias-sets",
"Alias Set Printer", false, true);

View File

@ -41,8 +41,7 @@ namespace {
}
char CFGViewer::ID = 0;
static RegisterPass<CFGViewer>
V0("view-cfg", "View CFG of function", false, true);
INITIALIZE_PASS(CFGViewer, "view-cfg", "View CFG of function", false, true);
namespace {
struct CFGOnlyViewer : public FunctionPass {

View File

@ -48,8 +48,8 @@ namespace {
}
};
char PrintDbgInfo::ID = 0;
static RegisterPass<PrintDbgInfo> X("print-dbginfo",
"Print debug info in human readable form");
INITIALIZE_PASS(PrintDbgInfo, "print-dbginfo",
"Print debug info in human readable form", false, false);
}
FunctionPass *llvm::createDbgInfoPrinterPass() { return new PrintDbgInfo(); }

View File

@ -111,22 +111,23 @@ struct PostDomOnlyViewer
} // end anonymous namespace
char DomViewer::ID = 0;
RegisterPass<DomViewer> A("view-dom",
"View dominance tree of function");
INITIALIZE_PASS(DomViewer, "view-dom",
"View dominance tree of function", false, false);
char DomOnlyViewer::ID = 0;
RegisterPass<DomOnlyViewer> B("view-dom-only",
"View dominance tree of function "
"(with no function bodies)");
INITIALIZE_PASS(DomOnlyViewer, "view-dom-only",
"View dominance tree of function (with no function bodies)",
false, false);
char PostDomViewer::ID = 0;
RegisterPass<PostDomViewer> C("view-postdom",
"View postdominance tree of function");
INITIALIZE_PASS(PostDomViewer, "view-postdom",
"View postdominance tree of function", false, false);
char PostDomOnlyViewer::ID = 0;
RegisterPass<PostDomOnlyViewer> D("view-postdom-only",
"View postdominance tree of function "
"(with no function bodies)");
INITIALIZE_PASS(PostDomOnlyViewer, "view-postdom-only",
"View postdominance tree of function "
"(with no function bodies)",
false, false);
namespace {
struct DomPrinter
@ -159,26 +160,26 @@ struct PostDomOnlyPrinter
char DomPrinter::ID = 0;
RegisterPass<DomPrinter> E("dot-dom",
"Print dominance tree of function "
"to 'dot' file");
INITIALIZE_PASS(DomPrinter, "dot-dom",
"Print dominance tree of function to 'dot' file",
false, false);
char DomOnlyPrinter::ID = 0;
RegisterPass<DomOnlyPrinter> F("dot-dom-only",
"Print dominance tree of function "
"to 'dot' file "
"(with no function bodies)");
INITIALIZE_PASS(DomOnlyPrinter, "dot-dom-only",
"Print dominance tree of function to 'dot' file "
"(with no function bodies)",
false, false);
char PostDomPrinter::ID = 0;
RegisterPass<PostDomPrinter> G("dot-postdom",
"Print postdominance tree of function "
"to 'dot' file");
INITIALIZE_PASS(PostDomPrinter, "dot-postdom",
"Print postdominance tree of function to 'dot' file",
false, false);
char PostDomOnlyPrinter::ID = 0;
RegisterPass<PostDomOnlyPrinter> H("dot-postdom-only",
"Print postdominance tree of function "
"to 'dot' file "
"(with no function bodies)");
INITIALIZE_PASS(PostDomOnlyPrinter, "dot-postdom-only",
"Print postdominance tree of function to 'dot' file "
"(with no function bodies)",
false, false);
// Create methods available outside of this file, to use them
// "include/llvm/LinkAllPasses.h". Otherwise the pass would be deleted by

View File

@ -29,8 +29,7 @@
using namespace llvm;
char IVUsers::ID = 0;
static RegisterPass<IVUsers>
X("iv-users", "Induction Variable Users", false, true);
INITIALIZE_PASS(IVUsers, "iv-users", "Induction Variable Users", false, true);
Pass *llvm::createIVUsersPass() {
return new IVUsers();

View File

@ -64,8 +64,8 @@ namespace {
}
char InstCount::ID = 0;
static RegisterPass<InstCount>
X("instcount", "Counts the various types of Instructions", false, true);
INITIALIZE_PASS(InstCount, "instcount",
"Counts the various types of Instructions", false, true);
FunctionPass *llvm::createInstCountPass() { return new InstCount(); }

View File

@ -16,8 +16,8 @@
using namespace llvm;
char IntervalPartition::ID = 0;
static RegisterPass<IntervalPartition>
X("intervals", "Interval Partition Construction", true, true);
INITIALIZE_PASS(IntervalPartition, "intervals",
"Interval Partition Construction", true, true);
//===----------------------------------------------------------------------===//
// IntervalPartition Implementation

View File

@ -27,8 +27,8 @@
using namespace llvm;
char LazyValueInfo::ID = 0;
static RegisterPass<LazyValueInfo>
X("lazy-value-info", "Lazy Value Information Analysis", false, true);
INITIALIZE_PASS(LazyValueInfo, "lazy-value-info",
"Lazy Value Information Analysis", false, true);
namespace llvm {
FunctionPass *createLazyValueInfoPass() { return new LazyValueInfo(); }

View File

@ -167,8 +167,7 @@ namespace {
}
char Lint::ID = 0;
static RegisterPass<Lint>
X("lint", "Statically lint-checks LLVM IR", false, true);
INITIALIZE_PASS(Lint, "lint", "Statically lint-checks LLVM IR", false, true);
// Assert - We know that cond should be true, if not print an error message.
#define Assert(C, M) \

View File

@ -22,8 +22,8 @@ namespace llvm {
}
char LiveValues::ID = 0;
static RegisterPass<LiveValues>
X("live-values", "Value Liveness Analysis", false, true);
INITIALIZE_PASS(LiveValues, "live-values",
"Value Liveness Analysis", false, true);
LiveValues::LiveValues() : FunctionPass(&ID) {}

View File

@ -46,8 +46,8 @@ LoopPass *llvm::createLoopDependenceAnalysisPass() {
return new LoopDependenceAnalysis();
}
static RegisterPass<LoopDependenceAnalysis>
R("lda", "Loop Dependence Analysis", false, true);
INITIALIZE_PASS(LoopDependenceAnalysis, "lda",
"Loop Dependence Analysis", false, true);
char LoopDependenceAnalysis::ID = 0;
//===----------------------------------------------------------------------===//

View File

@ -38,8 +38,7 @@ VerifyLoopInfoX("verify-loop-info", cl::location(VerifyLoopInfo),
cl::desc("Verify loop info (time consuming)"));
char LoopInfo::ID = 0;
static RegisterPass<LoopInfo>
X("loops", "Natural Loop Information", true, true);
INITIALIZE_PASS(LoopInfo, "loops", "Natural Loop Information", true, true);
//===----------------------------------------------------------------------===//
// Loop implementation

View File

@ -46,8 +46,8 @@ STATISTIC(NumCacheCompleteNonLocalPtr,
char MemoryDependenceAnalysis::ID = 0;
// Register this pass...
static RegisterPass<MemoryDependenceAnalysis> X("memdep",
"Memory Dependence Analysis", false, true);
INITIALIZE_PASS(MemoryDependenceAnalysis, "memdep",
"Memory Dependence Analysis", false, true);
MemoryDependenceAnalysis::MemoryDependenceAnalysis()
: FunctionPass(&ID), PredCache(0) {

View File

@ -42,9 +42,8 @@ namespace {
}
char ModuleDebugInfoPrinter::ID = 0;
static RegisterPass<ModuleDebugInfoPrinter>
X("module-debuginfo",
"Decodes module-level debug info", false, true);
INITIALIZE_PASS(ModuleDebugInfoPrinter, "module-debuginfo",
"Decodes module-level debug info", false, true);
ModulePass *llvm::createModuleDebugInfoPrinterPass() {
return new ModuleDebugInfoPrinter();

View File

@ -263,5 +263,5 @@ void PointerTracking::print(raw_ostream &OS, const Module* M) const {
}
}
static RegisterPass<PointerTracking> X("pointertracking",
"Track pointer bounds", false, true);
INITIALIZE_PASS(PointerTracking, "pointertracking",
"Track pointer bounds", false, true);

View File

@ -28,8 +28,8 @@ using namespace llvm;
char PostDominatorTree::ID = 0;
char PostDominanceFrontier::ID = 0;
static RegisterPass<PostDominatorTree>
F("postdomtree", "Post-Dominator Tree Construction", true, true);
INITIALIZE_PASS(PostDominatorTree, "postdomtree",
"Post-Dominator Tree Construction", true, true);
bool PostDominatorTree::runOnFunction(Function &F) {
DT->recalculate(F);

View File

@ -366,8 +366,8 @@ namespace llvm {
char ProfileVerifierPassT<FType, BType>::ID = 0;
}
static RegisterPass<ProfileVerifierPass>
X("profile-verifier", "Verify profiling information", false, true);
INITIALIZE_PASS(ProfileVerifierPass, "profile-verifier",
"Verify profiling information", false, true);
namespace llvm {
FunctionPass *createProfileVerifierPass() {

View File

@ -103,8 +103,8 @@ MaxBruteForceIterations("scalar-evolution-max-iterations", cl::ReallyHidden,
"derived loop"),
cl::init(100));
static RegisterPass<ScalarEvolution>
R("scalar-evolution", "Scalar Evolution Analysis", false, true);
INITIALIZE_PASS(ScalarEvolution, "scalar-evolution",
"Scalar Evolution Analysis", false, true);
char ScalarEvolution::ID = 0;
//===----------------------------------------------------------------------===//

View File

@ -25,8 +25,8 @@
using namespace llvm;
char CalculateSpillWeights::ID = 0;
static RegisterPass<CalculateSpillWeights> X("calcspillweights",
"Calculate spill weights");
INITIALIZE_PASS(CalculateSpillWeights, "calcspillweights",
"Calculate spill weights", false, false);
void CalculateSpillWeights::getAnalysisUsage(AnalysisUsage &au) const {
au.addRequired<LiveIntervals>();

View File

@ -44,9 +44,8 @@ namespace {
}
char DeadMachineInstructionElim::ID = 0;
static RegisterPass<DeadMachineInstructionElim>
Y("dead-mi-elimination",
"Remove dead machine instructions");
INITIALIZE_PASS(DeadMachineInstructionElim, "dead-mi-elimination",
"Remove dead machine instructions", false, false);
FunctionPass *llvm::createDeadMachineInstructionElimPass() {
return new DeadMachineInstructionElim();

View File

@ -55,8 +55,8 @@ namespace {
}
static RegisterPass<GCModuleInfo>
X("collector-metadata", "Create Garbage Collector Module Metadata");
INITIALIZE_PASS(GCModuleInfo, "collector-metadata",
"Create Garbage Collector Module Metadata", false, false);
// -----------------------------------------------------------------------------

View File

@ -230,8 +230,7 @@ namespace {
char IfConverter::ID = 0;
}
static RegisterPass<IfConverter>
X("if-converter", "If Converter");
INITIALIZE_PASS(IfConverter, "if-converter", "If Converter", false, false);
FunctionPass *llvm::createIfConverterPass() { return new IfConverter(); }

View File

@ -55,7 +55,8 @@ STATISTIC(numFolds , "Number of loads/stores folded into instructions");
STATISTIC(numSplits , "Number of intervals split");
char LiveIntervals::ID = 0;
static RegisterPass<LiveIntervals> X("liveintervals", "Live Interval Analysis");
INITIALIZE_PASS(LiveIntervals, "liveintervals",
"Live Interval Analysis", false, false);
void LiveIntervals::getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();

View File

@ -25,7 +25,8 @@
using namespace llvm;
char LiveStacks::ID = 0;
static RegisterPass<LiveStacks> X("livestacks", "Live Stack Slot Analysis");
INITIALIZE_PASS(LiveStacks, "livestacks",
"Live Stack Slot Analysis", false, false);
void LiveStacks::getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();

View File

@ -42,7 +42,8 @@
using namespace llvm;
char LiveVariables::ID = 0;
static RegisterPass<LiveVariables> X("livevars", "Live Variable Analysis");
INITIALIZE_PASS(LiveVariables, "livevars",
"Live Variable Analysis", false, false);
void LiveVariables::getAnalysisUsage(AnalysisUsage &AU) const {

View File

@ -85,8 +85,8 @@ namespace {
} // end anonymous namespace
char MachineCSE::ID = 0;
static RegisterPass<MachineCSE>
X("machine-cse", "Machine Common Subexpression Elimination");
INITIALIZE_PASS(MachineCSE, "machine-cse",
"Machine Common Subexpression Elimination", false, false);
FunctionPass *llvm::createMachineCSEPass() { return new MachineCSE(); }

View File

@ -189,8 +189,8 @@ namespace {
} // end anonymous namespace
char MachineLICM::ID = 0;
static RegisterPass<MachineLICM>
X("machinelicm", "Machine Loop Invariant Code Motion");
INITIALIZE_PASS(MachineLICM, "machinelicm",
"Machine Loop Invariant Code Motion", false, false);
FunctionPass *llvm::createMachineLICMPass(bool PreRegAlloc) {
return new MachineLICM(PreRegAlloc);

View File

@ -28,8 +28,8 @@ using namespace llvm;
using namespace llvm::dwarf;
// Handle the Pass registration stuff necessary to use TargetData's.
static RegisterPass<MachineModuleInfo>
X("machinemoduleinfo", "Machine Module Information");
INITIALIZE_PASS(MachineModuleInfo, "machinemoduleinfo",
"Machine Module Information", false, false);
char MachineModuleInfo::ID = 0;
// Out of line virtual method.

View File

@ -65,8 +65,8 @@ namespace {
} // end anonymous namespace
char MachineSinking::ID = 0;
static RegisterPass<MachineSinking>
X("machine-sink", "Machine code sinking");
INITIALIZE_PASS(MachineSinking, "machine-sink",
"Machine code sinking", false, false);
FunctionPass *llvm::createMachineSinkingPass() { return new MachineSinking(); }

View File

@ -63,8 +63,8 @@ namespace {
}
char OptimizeExts::ID = 0;
static RegisterPass<OptimizeExts>
X("opt-exts", "Optimize sign / zero extensions");
INITIALIZE_PASS(OptimizeExts, "opt-exts",
"Optimize sign / zero extensions", false, false);
FunctionPass *llvm::createOptimizeExtsPass() { return new OptimizeExts(); }

View File

@ -54,8 +54,8 @@ namespace {
}
char OptimizePHIs::ID = 0;
static RegisterPass<OptimizePHIs>
X("opt-phis", "Optimize machine instruction PHIs");
INITIALIZE_PASS(OptimizePHIs, "opt-phis",
"Optimize machine instruction PHIs", false, false);
FunctionPass *llvm::createOptimizePHIsPass() { return new OptimizePHIs(); }

View File

@ -26,8 +26,8 @@
using namespace llvm;
char ProcessImplicitDefs::ID = 0;
static RegisterPass<ProcessImplicitDefs> X("processimpdefs",
"Process Implicit Definitions.");
INITIALIZE_PASS(ProcessImplicitDefs, "processimpdefs",
"Process Implicit Definitions.", false, false);
void ProcessImplicitDefs::getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();

View File

@ -40,8 +40,8 @@ using namespace llvm;
char PEI::ID = 0;
static RegisterPass<PEI>
X("prologepilog", "Prologue/Epilogue Insertion");
INITIALIZE_PASS(PEI, "prologepilog",
"Prologue/Epilogue Insertion", false, false);
/// createPrologEpilogCodeInserter - This function returns a pass that inserts
/// prolog and epilog code, and eliminates abstract frame references.

View File

@ -358,8 +358,8 @@ namespace {
char RALinScan::ID = 0;
}
static RegisterPass<RALinScan>
X("linearscan-regalloc", "Linear Scan Register Allocator");
INITIALIZE_PASS(RALinScan, "linearscan-regalloc",
"Linear Scan Register Allocator", false, false);
void RALinScan::ComputeRelatedRegClasses() {
// First pass, add all reg classes to the union, and determine at least one

View File

@ -30,8 +30,9 @@
using namespace llvm;
char RenderMachineFunction::ID = 0;
static RegisterPass<RenderMachineFunction>
X("rendermf", "Render machine functions (and related info) to HTML pages");
INITIALIZE_PASS(RenderMachineFunction, "rendermf",
"Render machine functions (and related info) to HTML pages",
false, false);
static cl::opt<std::string>
outputFileSuffix("rmf-file-suffix",

View File

@ -40,7 +40,8 @@ namespace {
}
char SlotIndexes::ID = 0;
static RegisterPass<SlotIndexes> X("slotindexes", "Slot index numbering");
INITIALIZE_PASS(SlotIndexes, "slotindexes",
"Slot index numbering", false, false);
IndexListEntry* IndexListEntry::getEmptyKeyEntry() {
return &*IndexListEntryEmptyKey;

View File

@ -29,8 +29,8 @@
using namespace llvm;
char LoopSplitter::ID = 0;
static RegisterPass<LoopSplitter>
X("loop-splitting", "Split virtual regists across loop boundaries.");
INITIALIZE_PASS(LoopSplitter, "loop-splitting",
"Split virtual regists across loop boundaries.", false, false);
namespace llvm {

View File

@ -71,8 +71,8 @@ namespace {
} // end anonymous namespace
char StackProtector::ID = 0;
static RegisterPass<StackProtector>
X("stack-protector", "Insert stack protectors");
INITIALIZE_PASS(StackProtector, "stack-protector",
"Insert stack protectors", false, false);
FunctionPass *llvm::createStackProtectorPass(const TargetLowering *tli) {
return new StackProtector(tli);

View File

@ -146,8 +146,8 @@ namespace {
char StackSlotColoring::ID = 0;
static RegisterPass<StackSlotColoring>
X("stack-slot-coloring", "Stack Slot Coloring");
INITIALIZE_PASS(StackSlotColoring, "stack-slot-coloring",
"Stack Slot Coloring", false, false);
FunctionPass *llvm::createStackSlotColoringPass(bool RegColor) {
return new StackSlotColoring(RegColor);

View File

@ -51,8 +51,8 @@ namespace {
};
}
char UnreachableBlockElim::ID = 0;
static RegisterPass<UnreachableBlockElim>
X("unreachableblockelim", "Remove unreachable blocks from the CFG");
INITIALIZE_PASS(UnreachableBlockElim, "unreachableblockelim",
"Remove unreachable blocks from the CFG", false, false);
FunctionPass *llvm::createUnreachableBlockEliminationPass() {
return new UnreachableBlockElim();

View File

@ -48,8 +48,7 @@ STATISTIC(NumSpills , "Number of register spills");
char VirtRegMap::ID = 0;
static RegisterPass<VirtRegMap>
X("virtregmap", "Virtual Register Map");
INITIALIZE_PASS(VirtRegMap, "virtregmap", "Virtual Register Map", false, false);
bool VirtRegMap::runOnMachineFunction(MachineFunction &mf) {
MRI = &mf.getRegInfo();

View File

@ -34,8 +34,7 @@ using namespace llvm;
// Handle the Pass registration stuff necessary to use TargetData's.
// Register the default SparcV9 implementation...
static RegisterPass<TargetData> X("targetdata", "Target Data Layout", false,
true);
INITIALIZE_PASS(TargetData, "targetdata", "Target Data Layout", false, true);
char TargetData::ID = 0;
//===----------------------------------------------------------------------===//

View File

@ -37,7 +37,7 @@ namespace {
}
char Hello::ID = 0;
static RegisterPass<Hello> X("hello", "Hello World Pass");
INITIALIZE_PASS(Hello, "hello", "Hello World Pass", false, false);
namespace {
// Hello2 - The second implementation with getAnalysisUsage implemented.
@ -60,5 +60,6 @@ namespace {
}
char Hello2::ID = 0;
static RegisterPass<Hello2>
Y("hello2", "Hello World Pass (with getAnalysisUsage implemented)");
INITIALIZE_PASS(Hello2, "hello2",
"Hello World Pass (with getAnalysisUsage implemented)",
false, false);

View File

@ -84,8 +84,8 @@ namespace {
}
char ArgPromotion::ID = 0;
static RegisterPass<ArgPromotion>
X("argpromotion", "Promote 'by reference' arguments to scalars");
INITIALIZE_PASS(ArgPromotion, "argpromotion",
"Promote 'by reference' arguments to scalars", false, false);
Pass *llvm::createArgumentPromotionPass(unsigned maxElements) {
return new ArgPromotion(maxElements);

View File

@ -41,8 +41,8 @@ namespace {
}
char ConstantMerge::ID = 0;
static RegisterPass<ConstantMerge>
X("constmerge", "Merge Duplicate Global Constants");
INITIALIZE_PASS(ConstantMerge, "constmerge",
"Merge Duplicate Global Constants", false, false);
ModulePass *llvm::createConstantMergePass() { return new ConstantMerge(); }

View File

@ -151,8 +151,7 @@ namespace {
char DAE::ID = 0;
static RegisterPass<DAE>
X("deadargelim", "Dead Argument Elimination");
INITIALIZE_PASS(DAE, "deadargelim", "Dead Argument Elimination", false, false);
namespace {
/// DAH - DeadArgumentHacking pass - Same as dead argument elimination, but
@ -167,8 +166,9 @@ namespace {
}
char DAH::ID = 0;
static RegisterPass<DAH>
Y("deadarghaX0r", "Dead Argument Hacking (BUGPOINT USE ONLY; DO NOT USE)");
INITIALIZE_PASS(DAH, "deadarghaX0r",
"Dead Argument Hacking (BUGPOINT USE ONLY; DO NOT USE)",
false, false);
/// createDeadArgEliminationPass - This pass removes arguments from functions
/// which are not used by the body of the function.

View File

@ -45,7 +45,7 @@ namespace {
}
char DTE::ID = 0;
static RegisterPass<DTE> X("deadtypeelim", "Dead Type Elimination");
INITIALIZE_PASS(DTE, "deadtypeelim", "Dead Type Elimination", false, false);
ModulePass *llvm::createDeadTypeEliminationPass() {
return new DTE();

View File

@ -69,8 +69,8 @@ namespace {
}
char FunctionAttrs::ID = 0;
static RegisterPass<FunctionAttrs>
X("functionattrs", "Deduce function attributes");
INITIALIZE_PASS(FunctionAttrs, "functionattrs",
"Deduce function attributes", false, false);
Pass *llvm::createFunctionAttrsPass() { return new FunctionAttrs(); }

View File

@ -51,7 +51,8 @@ namespace {
}
char GlobalDCE::ID = 0;
static RegisterPass<GlobalDCE> X("globaldce", "Dead Global Elimination");
INITIALIZE_PASS(GlobalDCE, "globaldce",
"Dead Global Elimination", false, false);
ModulePass *llvm::createGlobalDCEPass() { return new GlobalDCE(); }

View File

@ -74,7 +74,8 @@ namespace {
}
char GlobalOpt::ID = 0;
static RegisterPass<GlobalOpt> X("globalopt", "Global Variable Optimizer");
INITIALIZE_PASS(GlobalOpt, "globalopt",
"Global Variable Optimizer", false, false);
ModulePass *llvm::createGlobalOptimizerPass() { return new GlobalOpt(); }

View File

@ -45,8 +45,8 @@ namespace {
}
char IPCP::ID = 0;
static RegisterPass<IPCP>
X("ipconstprop", "Interprocedural constant propagation");
INITIALIZE_PASS(IPCP, "ipconstprop",
"Interprocedural constant propagation", false, false);
ModulePass *llvm::createIPConstantPropagationPass() { return new IPCP(); }

View File

@ -61,8 +61,8 @@ namespace {
}
char AlwaysInliner::ID = 0;
static RegisterPass<AlwaysInliner>
X("always-inline", "Inliner for always_inline functions");
INITIALIZE_PASS(AlwaysInliner, "always-inline",
"Inliner for always_inline functions", false, false);
Pass *llvm::createAlwaysInlinerPass() { return new AlwaysInliner(); }

View File

@ -56,8 +56,8 @@ namespace {
}
char SimpleInliner::ID = 0;
static RegisterPass<SimpleInliner>
X("inline", "Function Integration/Inlining");
INITIALIZE_PASS(SimpleInliner, "inline",
"Function Integration/Inlining", false, false);
Pass *llvm::createFunctionInliningPass() { return new SimpleInliner(); }

View File

@ -63,8 +63,8 @@ namespace {
} // end anonymous namespace
char InternalizePass::ID = 0;
static RegisterPass<InternalizePass>
X("internalize", "Internalize Global Symbols");
INITIALIZE_PASS(InternalizePass, "internalize",
"Internalize Global Symbols", false, false);
InternalizePass::InternalizePass(bool AllButMain)
: ModulePass(&ID), AllButMain(AllButMain){

View File

@ -50,8 +50,8 @@ namespace {
}
char LoopExtractor::ID = 0;
static RegisterPass<LoopExtractor>
X("loop-extract", "Extract loops into new functions");
INITIALIZE_PASS(LoopExtractor, "loop-extract",
"Extract loops into new functions", false, false);
namespace {
/// SingleLoopExtractor - For bugpoint.
@ -62,8 +62,8 @@ namespace {
} // End anonymous namespace
char SingleLoopExtractor::ID = 0;
static RegisterPass<SingleLoopExtractor>
Y("loop-extract-single", "Extract at most one loop into a new function");
INITIALIZE_PASS(SingleLoopExtractor, "loop-extract-single",
"Extract at most one loop into a new function", false, false);
// createLoopExtractorPass - This pass extracts all natural loops from the
// program into a function if it can.
@ -159,8 +159,9 @@ namespace {
}
char BlockExtractorPass::ID = 0;
static RegisterPass<BlockExtractorPass>
XX("extract-blocks", "Extract Basic Blocks From Module (for bugpoint use)");
INITIALIZE_PASS(BlockExtractorPass, "extract-blocks",
"Extract Basic Blocks From Module (for bugpoint use)",
false, false);
// createBlockExtractorPass - This pass extracts all blocks (except those
// specified in the argument list) from the functions in the module.

View File

@ -122,7 +122,7 @@ namespace {
} // end anonymous namespace
char LowerSetJmp::ID = 0;
static RegisterPass<LowerSetJmp> X("lowersetjmp", "Lower Set Jump");
INITIALIZE_PASS(LowerSetJmp, "lowersetjmp", "Lower Set Jump", false, false);
// run - Run the transformation on the program. We grab the function
// prototypes for longjmp and setjmp. If they are used in the program,

View File

@ -111,7 +111,7 @@ namespace {
}
char MergeFunctions::ID = 0;
static RegisterPass<MergeFunctions> X("mergefunc", "Merge Functions");
INITIALIZE_PASS(MergeFunctions, "mergefunc", "Merge Functions", false, false);
ModulePass *llvm::createMergeFunctionsPass() {
return new MergeFunctions();

View File

@ -40,7 +40,8 @@ namespace {
}
char PartialInliner::ID = 0;
static RegisterPass<PartialInliner> X("partial-inliner", "Partial Inliner");
INITIALIZE_PASS(PartialInliner, "partial-inliner",
"Partial Inliner", false, false);
ModulePass* llvm::createPartialInliningPass() { return new PartialInliner(); }

View File

@ -56,8 +56,8 @@ namespace {
}
char PartSpec::ID = 0;
static RegisterPass<PartSpec>
X("partialspecialization", "Partial Specialization");
INITIALIZE_PASS(PartSpec, "partialspecialization",
"Partial Specialization", false, false);
// Specialize F by replacing the arguments (keys) in replacements with the
// constants (values). Replace all calls to F with those constants with

View File

@ -48,8 +48,8 @@ namespace {
}
char PruneEH::ID = 0;
static RegisterPass<PruneEH>
X("prune-eh", "Remove unused exception handling info");
INITIALIZE_PASS(PruneEH, "prune-eh",
"Remove unused exception handling info", false, false);
Pass *llvm::createPruneEHPass() { return new PruneEH(); }

View File

@ -36,8 +36,8 @@ public:
} // end anonymous namespace
char StripDeadPrototypesPass::ID = 0;
static RegisterPass<StripDeadPrototypesPass>
X("strip-dead-prototypes", "Strip Unused Function Prototypes");
INITIALIZE_PASS(StripDeadPrototypesPass, "strip-dead-prototypes",
"Strip Unused Function Prototypes", false, false);
bool StripDeadPrototypesPass::runOnModule(Module &M) {
bool MadeChange = false;

View File

@ -89,32 +89,33 @@ namespace {
}
char StripSymbols::ID = 0;
static RegisterPass<StripSymbols>
X("strip", "Strip all symbols from a module");
INITIALIZE_PASS(StripSymbols, "strip",
"Strip all symbols from a module", false, false);
ModulePass *llvm::createStripSymbolsPass(bool OnlyDebugInfo) {
return new StripSymbols(OnlyDebugInfo);
}
char StripNonDebugSymbols::ID = 0;
static RegisterPass<StripNonDebugSymbols>
Y("strip-nondebug", "Strip all symbols, except dbg symbols, from a module");
INITIALIZE_PASS(StripNonDebugSymbols, "strip-nondebug",
"Strip all symbols, except dbg symbols, from a module",
false, false);
ModulePass *llvm::createStripNonDebugSymbolsPass() {
return new StripNonDebugSymbols();
}
char StripDebugDeclare::ID = 0;
static RegisterPass<StripDebugDeclare>
Z("strip-debug-declare", "Strip all llvm.dbg.declare intrinsics");
INITIALIZE_PASS(StripDebugDeclare, "strip-debug-declare",
"Strip all llvm.dbg.declare intrinsics", false, false);
ModulePass *llvm::createStripDebugDeclarePass() {
return new StripDebugDeclare();
}
char StripDeadDebugInfo::ID = 0;
static RegisterPass<StripDeadDebugInfo>
A("strip-dead-debug-info", "Strip debug info for unused symbols");
INITIALIZE_PASS(StripDeadDebugInfo, "strip-dead-debug-info",
"Strip debug info for unused symbols", false, false);
ModulePass *llvm::createStripDeadDebugInfoPass() {
return new StripDeadDebugInfo();

View File

@ -62,8 +62,8 @@ namespace {
}
char SRETPromotion::ID = 0;
static RegisterPass<SRETPromotion>
X("sretpromotion", "Promote sret arguments to multiple ret values");
INITIALIZE_PASS(SRETPromotion, "sretpromotion",
"Promote sret arguments to multiple ret values", false, false);
Pass *llvm::createStructRetPromotionPass() {
return new SRETPromotion();

View File

@ -60,8 +60,8 @@ STATISTIC(NumSunkInst , "Number of instructions sunk");
char InstCombiner::ID = 0;
static RegisterPass<InstCombiner>
X("instcombine", "Combine redundant instructions");
INITIALIZE_PASS(InstCombiner, "instcombine",
"Combine redundant instructions", false, false);
void InstCombiner::getAnalysisUsage(AnalysisUsage &AU) const {
AU.addPreservedID(LCSSAID);

View File

@ -43,8 +43,8 @@ namespace {
}
char EdgeProfiler::ID = 0;
static RegisterPass<EdgeProfiler>
X("insert-edge-profiling", "Insert instrumentation for edge profiling");
INITIALIZE_PASS(EdgeProfiler, "insert-edge-profiling",
"Insert instrumentation for edge profiling", false, false);
ModulePass *llvm::createEdgeProfilerPass() { return new EdgeProfiler(); }

View File

@ -50,9 +50,9 @@ namespace {
}
char OptimalEdgeProfiler::ID = 0;
static RegisterPass<OptimalEdgeProfiler>
X("insert-optimal-edge-profiling",
"Insert optimal instrumentation for edge profiling");
INITIALIZE_PASS(OptimalEdgeProfiler, "insert-optimal-edge-profiling",
"Insert optimal instrumentation for edge profiling",
false, false);
ModulePass *llvm::createOptimalEdgeProfilerPass() {
return new OptimalEdgeProfiler();

View File

@ -441,8 +441,9 @@ class ABCD : public FunctionPass {
} // end anonymous namespace.
char ABCD::ID = 0;
static RegisterPass<ABCD> X("abcd", "ABCD: Eliminating Array Bounds Checks on Demand");
INITIALIZE_PASS(ABCD, "abcd",
"ABCD: Eliminating Array Bounds Checks on Demand",
false, false);
bool ABCD::runOnFunction(Function &F) {
modified = false;

View File

@ -45,7 +45,7 @@ namespace {
}
char ADCE::ID = 0;
static RegisterPass<ADCE> X("adce", "Aggressive Dead Code Elimination");
INITIALIZE_PASS(ADCE, "adce", "Aggressive Dead Code Elimination", false, false);
bool ADCE::runOnFunction(Function& F) {
SmallPtrSet<Instruction*, 128> alive;

View File

@ -74,8 +74,8 @@ namespace {
}
char BlockPlacement::ID = 0;
static RegisterPass<BlockPlacement>
X("block-placement", "Profile Guided Basic Block Placement");
INITIALIZE_PASS(BlockPlacement, "block-placement",
"Profile Guided Basic Block Placement", false, false);
FunctionPass *llvm::createBlockPlacementPass() { return new BlockPlacement(); }

View File

@ -82,8 +82,8 @@ namespace {
}
char CodeGenPrepare::ID = 0;
static RegisterPass<CodeGenPrepare> X("codegenprepare",
"Optimize for code generation");
INITIALIZE_PASS(CodeGenPrepare, "codegenprepare",
"Optimize for code generation", false, false);
FunctionPass *llvm::createCodeGenPreparePass(const TargetLowering *TLI) {
return new CodeGenPrepare(TLI);

View File

@ -45,8 +45,8 @@ namespace {
}
char ConstantPropagation::ID = 0;
static RegisterPass<ConstantPropagation>
X("constprop", "Simple constant propagation");
INITIALIZE_PASS(ConstantPropagation, "constprop",
"Simple constant propagation", false, false);
FunctionPass *llvm::createConstantPropagationPass() {
return new ConstantPropagation();

View File

@ -56,8 +56,8 @@ namespace {
}
char DeadInstElimination::ID = 0;
static RegisterPass<DeadInstElimination>
X("die", "Dead Instruction Elimination");
INITIALIZE_PASS(DeadInstElimination, "die",
"Dead Instruction Elimination", false, false);
Pass *llvm::createDeadInstEliminationPass() {
return new DeadInstElimination();
@ -81,7 +81,7 @@ namespace {
}
char DCE::ID = 0;
static RegisterPass<DCE> Y("dce", "Dead Code Elimination");
INITIALIZE_PASS(DCE, "dce", "Dead Code Elimination", false, false);
bool DCE::runOnFunction(Function &F) {
// Start out with all of the instructions in the worklist...

View File

@ -82,7 +82,7 @@ namespace {
}
char DSE::ID = 0;
static RegisterPass<DSE> X("dse", "Dead Store Elimination");
INITIALIZE_PASS(DSE, "dse", "Dead Store Elimination", false, false);
FunctionPass *llvm::createDeadStoreEliminationPass() { return new DSE(); }

View File

@ -32,8 +32,8 @@ namespace {
}
char GEPSplitter::ID = 0;
static RegisterPass<GEPSplitter> X("split-geps",
"split complex GEPs into simple GEPs");
INITIALIZE_PASS(GEPSplitter, "split-geps",
"split complex GEPs into simple GEPs", false, false);
FunctionPass *llvm::createGEPSplitterPass() {
return new GEPSplitter();

View File

@ -716,8 +716,7 @@ FunctionPass *llvm::createGVNPass(bool NoLoads) {
return new GVN(NoLoads);
}
static RegisterPass<GVN> X("gvn",
"Global Value Numbering");
INITIALIZE_PASS(GVN, "gvn", "Global Value Numbering", false, false);
void GVN::dump(DenseMap<uint32_t, Value*>& d) {
errs() << "{\n";

View File

@ -117,8 +117,8 @@ namespace {
}
char IndVarSimplify::ID = 0;
static RegisterPass<IndVarSimplify>
X("indvars", "Canonicalize Induction Variables");
INITIALIZE_PASS(IndVarSimplify, "indvars",
"Canonicalize Induction Variables", false, false);
Pass *llvm::createIndVarSimplifyPass() {
return new IndVarSimplify();

View File

@ -111,8 +111,8 @@ namespace {
}
char JumpThreading::ID = 0;
static RegisterPass<JumpThreading>
X("jump-threading", "Jump Threading");
INITIALIZE_PASS(JumpThreading, "jump-threading",
"Jump Threading", false, false);
// Public interface to the Jump Threading pass
FunctionPass *llvm::createJumpThreadingPass() { return new JumpThreading(); }

View File

@ -222,7 +222,7 @@ namespace {
}
char LICM::ID = 0;
static RegisterPass<LICM> X("licm", "Loop Invariant Code Motion");
INITIALIZE_PASS(LICM, "licm", "Loop Invariant Code Motion", false, false);
Pass *llvm::createLICMPass() { return new LICM(); }

View File

@ -55,7 +55,8 @@ namespace {
}
char LoopDeletion::ID = 0;
static RegisterPass<LoopDeletion> X("loop-deletion", "Delete dead loops");
INITIALIZE_PASS(LoopDeletion, "loop-deletion",
"Delete dead loops", false, false);
Pass* llvm::createLoopDeletionPass() {
return new LoopDeletion();

View File

@ -197,8 +197,8 @@ namespace {
}
char LoopIndexSplit::ID = 0;
static RegisterPass<LoopIndexSplit>
X("loop-index-split", "Index Split Loops");
INITIALIZE_PASS(LoopIndexSplit, "loop-index-split",
"Index Split Loops", false, false);
Pass *llvm::createLoopIndexSplitPass() {
return new LoopIndexSplit();

View File

@ -79,7 +79,7 @@ namespace {
}
char LoopRotate::ID = 0;
static RegisterPass<LoopRotate> X("loop-rotate", "Rotate Loops");
INITIALIZE_PASS(LoopRotate, "loop-rotate", "Rotate Loops", false, false);
Pass *llvm::createLoopRotatePass() { return new LoopRotate(); }

View File

@ -3743,8 +3743,8 @@ private:
}
char LoopStrengthReduce::ID = 0;
static RegisterPass<LoopStrengthReduce>
X("loop-reduce", "Loop Strength Reduction");
INITIALIZE_PASS(LoopStrengthReduce, "loop-reduce",
"Loop Strength Reduction", false, false);
Pass *llvm::createLoopStrengthReducePass(const TargetLowering *TLI) {
return new LoopStrengthReduce(TLI);

View File

@ -71,7 +71,7 @@ namespace {
}
char LoopUnroll::ID = 0;
static RegisterPass<LoopUnroll> X("loop-unroll", "Unroll loops");
INITIALIZE_PASS(LoopUnroll, "loop-unroll", "Unroll loops", false, false);
Pass *llvm::createLoopUnrollPass() { return new LoopUnroll(); }

View File

@ -160,7 +160,7 @@ namespace {
};
}
char LoopUnswitch::ID = 0;
static RegisterPass<LoopUnswitch> X("loop-unswitch", "Unswitch loops");
INITIALIZE_PASS(LoopUnswitch, "loop-unswitch", "Unswitch loops", false, false);
Pass *llvm::createLoopUnswitchPass(bool Os) {
return new LoopUnswitch(Os);

View File

@ -331,8 +331,7 @@ namespace {
// createMemCpyOptPass - The public interface to this file...
FunctionPass *llvm::createMemCpyOptPass() { return new MemCpyOpt(); }
static RegisterPass<MemCpyOpt> X("memcpyopt",
"MemCpy Optimization");
INITIALIZE_PASS(MemCpyOpt, "memcpyopt", "MemCpy Optimization", false, false);

View File

@ -103,7 +103,8 @@ namespace {
}
char Reassociate::ID = 0;
static RegisterPass<Reassociate> X("reassociate", "Reassociate expressions");
INITIALIZE_PASS(Reassociate, "reassociate",
"Reassociate expressions", false, false);
// Public interface to the Reassociate pass
FunctionPass *llvm::createReassociatePass() { return new Reassociate(); }

View File

@ -1600,8 +1600,8 @@ namespace {
} // end anonymous namespace
char SCCP::ID = 0;
static RegisterPass<SCCP>
X("sccp", "Sparse Conditional Constant Propagation");
INITIALIZE_PASS(SCCP, "sccp",
"Sparse Conditional Constant Propagation", false, false);
// createSCCPPass - This is the public interface to this file.
FunctionPass *llvm::createSCCPPass() {
@ -1708,8 +1708,9 @@ namespace {
} // end anonymous namespace
char IPSCCP::ID = 0;
static RegisterPass<IPSCCP>
Y("ipsccp", "Interprocedural Sparse Conditional Constant Propagation");
INITIALIZE_PASS(IPSCCP, "ipsccp",
"Interprocedural Sparse Conditional Constant Propagation",
false, false);
// createIPSCCPPass - This is the public interface to this file.
ModulePass *llvm::createIPSCCPPass() {

View File

@ -135,7 +135,8 @@ namespace {
}
char SROA::ID = 0;
static RegisterPass<SROA> X("scalarrepl", "Scalar Replacement of Aggregates");
INITIALIZE_PASS(SROA, "scalarrepl",
"Scalar Replacement of Aggregates", false, false);
// Public interface to the ScalarReplAggregates pass
FunctionPass *llvm::createScalarReplAggregatesPass(signed int Threshold) {

View File

@ -49,7 +49,8 @@ namespace {
}
char CFGSimplifyPass::ID = 0;
static RegisterPass<CFGSimplifyPass> X("simplifycfg", "Simplify the CFG");
INITIALIZE_PASS(CFGSimplifyPass, "simplifycfg",
"Simplify the CFG", false, false);
// Public interface to the CFGSimplification pass
FunctionPass *llvm::createCFGSimplificationPass() {

View File

@ -46,8 +46,8 @@ namespace {
char SimplifyHalfPowrLibCalls::ID = 0;
} // end anonymous namespace.
static RegisterPass<SimplifyHalfPowrLibCalls>
X("simplify-libcalls-halfpowr", "Simplify half_powr library calls");
INITIALIZE_PASS(SimplifyHalfPowrLibCalls, "simplify-libcalls-halfpowr",
"Simplify half_powr library calls", false, false);
// Public interface to the Simplify HalfPowr LibCalls pass.
FunctionPass *llvm::createSimplifyHalfPowrLibCallsPass() {

View File

@ -1253,8 +1253,8 @@ namespace {
char SimplifyLibCalls::ID = 0;
} // end anonymous namespace.
static RegisterPass<SimplifyLibCalls>
X("simplify-libcalls", "Simplify well-known library calls");
INITIALIZE_PASS(SimplifyLibCalls, "simplify-libcalls",
"Simplify well-known library calls", false, false);
// Public interface to the Simplify LibCalls pass.
FunctionPass *llvm::createSimplifyLibCallsPass() {

View File

@ -56,8 +56,7 @@ namespace {
} // end anonymous namespace
char Sinking::ID = 0;
static RegisterPass<Sinking>
X("sink", "Code sinking");
INITIALIZE_PASS(Sinking, "sink", "Code sinking", false, false);
FunctionPass *llvm::createSinkingPass() { return new Sinking(); }

View File

@ -59,7 +59,7 @@ namespace {
}
char TailDup::ID = 0;
static RegisterPass<TailDup> X("tailduplicate", "Tail Duplication");
INITIALIZE_PASS(TailDup, "tailduplicate", "Tail Duplication", false, false);
// Public interface to the Tail Duplication pass
FunctionPass *llvm::createTailDuplicationPass() { return new TailDup(); }

View File

@ -87,7 +87,8 @@ namespace {
}
char TailCallElim::ID = 0;
static RegisterPass<TailCallElim> X("tailcallelim", "Tail Call Elimination");
INITIALIZE_PASS(TailCallElim, "tailcallelim",
"Tail Call Elimination", false, false);
// Public interface to the TailCallElimination pass
FunctionPass *llvm::createTailCallEliminationPass() {

View File

@ -391,7 +391,8 @@ void SSI::clean() {
FunctionPass *llvm::createSSIPass() { return new SSI(); }
char SSI::ID = 0;
static RegisterPass<SSI> X("ssi", "Static Single Information Construction");
INITIALIZE_PASS(SSI, "ssi",
"Static Single Information Construction", false, false);
/// SSIEverything - A pass that runs createSSI on every non-void variable,
/// intended for debugging.
@ -428,5 +429,5 @@ bool SSIEverything::runOnFunction(Function &F) {
FunctionPass *llvm::createSSIEverythingPass() { return new SSIEverything(); }
char SSIEverything::ID = 0;
static RegisterPass<SSIEverything>
Y("ssi-everything", "Static Single Information Construction");
INITIALIZE_PASS(SSIEverything, "ssi-everything",
"Static Single Information Construction", false, false);

View File

@ -24,8 +24,8 @@
using namespace llvm;
char UnifyFunctionExitNodes::ID = 0;
static RegisterPass<UnifyFunctionExitNodes>
X("mergereturn", "Unify function exit nodes");
INITIALIZE_PASS(UnifyFunctionExitNodes, "mergereturn",
"Unify function exit nodes", false, false);
Pass *llvm::createUnifyFunctionExitNodesPass() {
return new UnifyFunctionExitNodes();

View File

@ -52,8 +52,8 @@ TEMPLATE_INSTANTIATION(class llvm::DomTreeNodeBase<BasicBlock>);
TEMPLATE_INSTANTIATION(class llvm::DominatorTreeBase<BasicBlock>);
char DominatorTree::ID = 0;
static RegisterPass<DominatorTree>
E("domtree", "Dominator Tree Construction", true, true);
INITIALIZE_PASS(DominatorTree, "domtree",
"Dominator Tree Construction", true, true);
bool DominatorTree::runOnFunction(Function &F) {
DT->recalculate(F);
@ -106,8 +106,8 @@ bool DominatorTree::dominates(const Instruction *A, const Instruction *B) const{
//===----------------------------------------------------------------------===//
char DominanceFrontier::ID = 0;
static RegisterPass<DominanceFrontier>
G("domfrontier", "Dominance Frontier Construction", true, true);
INITIALIZE_PASS(DominanceFrontier, "domfrontier",
"Dominance Frontier Construction", true, true);
void DominanceFrontier::verifyAnalysis() const {
if (!VerifyDomInfo) return;

View File

@ -77,11 +77,11 @@ namespace {
}
char PrintModulePass::ID = 0;
static RegisterPass<PrintModulePass>
X("print-module", "Print module to stderr");
INITIALIZE_PASS(PrintModulePass, "print-module",
"Print module to stderr", false, false);
char PrintFunctionPass::ID = 0;
static RegisterPass<PrintFunctionPass>
Y("print-function","Print function to stderr");
INITIALIZE_PASS(PrintFunctionPass, "print-function",
"Print function to stderr", false, false);
/// createPrintModulePass - Create and return a pass that writes the
/// module to the specified raw_ostream.