mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-17 05:31:32 +00:00
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:
parent
07fdd897e2
commit
d13db2c59c
@ -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(); }
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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 {
|
||||
|
@ -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(); }
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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
|
||||
|
@ -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(); }
|
||||
|
@ -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) \
|
||||
|
@ -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) {}
|
||||
|
||||
|
@ -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;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -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
|
||||
|
@ -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) {
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -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>();
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
|
@ -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 {
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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.
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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",
|
||||
|
@ -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;
|
||||
|
@ -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 {
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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();
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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){
|
||||
|
@ -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.
|
||||
|
@ -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,
|
||||
|
@ -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();
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
|
@ -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...
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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";
|
||||
|
@ -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();
|
||||
|
@ -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(); }
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
||||
|
||||
|
@ -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(); }
|
||||
|
@ -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() {
|
||||
|
@ -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) {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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(); }
|
||||
|
||||
|
@ -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(); }
|
||||
|
@ -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() {
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user