mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-30 17:33:24 +00:00
Now that PassInfo and Pass::ID have been separated, move the rest of the passes over to the new registration API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111815 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
79ed2c597a
commit
02dd53e1c5
@ -95,8 +95,8 @@ namespace {
|
||||
}
|
||||
|
||||
char CFGPrinter::ID = 0;
|
||||
static RegisterPass<CFGPrinter>
|
||||
P1("dot-cfg", "Print CFG of function to 'dot' file", false, true);
|
||||
INITIALIZE_PASS(CFGPrinter, "dot-cfg", "Print CFG of function to 'dot' file",
|
||||
false, true);
|
||||
|
||||
namespace {
|
||||
struct CFGOnlyPrinter : public FunctionPass {
|
||||
@ -126,9 +126,9 @@ namespace {
|
||||
}
|
||||
|
||||
char CFGOnlyPrinter::ID = 0;
|
||||
static RegisterPass<CFGOnlyPrinter>
|
||||
P2("dot-cfg-only",
|
||||
"Print CFG of function to 'dot' file (with no function bodies)", false, true);
|
||||
INITIALIZE_PASS(CFGOnlyPrinter, "dot-cfg-only",
|
||||
"Print CFG of function to 'dot' file (with no function bodies)",
|
||||
false, true);
|
||||
|
||||
/// viewCFG - This function is meant for use from the debugger. You can just
|
||||
/// say 'call F->viewCFG()' and a ghostview window should pop up from the
|
||||
|
@ -177,9 +177,9 @@ namespace {
|
||||
}
|
||||
|
||||
char GlobalsModRef::ID = 0;
|
||||
static RegisterPass<GlobalsModRef>
|
||||
X("globalsmodref-aa", "Simple mod/ref analysis for globals", false, true);
|
||||
static RegisterAnalysisGroup<AliasAnalysis> Y(X);
|
||||
INITIALIZE_AG_PASS(GlobalsModRef, AliasAnalysis,
|
||||
"globalsmodref-aa", "Simple mod/ref analysis for globals",
|
||||
false, true, false);
|
||||
|
||||
Pass *llvm::createGlobalsModRefPass() { return new GlobalsModRef(); }
|
||||
|
||||
|
@ -72,10 +72,8 @@ namespace {
|
||||
} // End of anonymous namespace
|
||||
|
||||
char ProfileEstimatorPass::ID = 0;
|
||||
static RegisterPass<ProfileEstimatorPass>
|
||||
X("profile-estimator", "Estimate profiling information", false, true);
|
||||
|
||||
static RegisterAnalysisGroup<ProfileInfo> Y(X);
|
||||
INITIALIZE_AG_PASS(ProfileEstimatorPass, ProfileInfo, "profile-estimator",
|
||||
"Estimate profiling information", false, true, false);
|
||||
|
||||
namespace llvm {
|
||||
char &ProfileEstimatorPassID = ProfileEstimatorPass::ID;
|
||||
|
@ -79,10 +79,8 @@ namespace {
|
||||
} // End of anonymous namespace
|
||||
|
||||
char LoaderPass::ID = 0;
|
||||
static RegisterPass<LoaderPass>
|
||||
X("profile-loader", "Load profile information from llvmprof.out", false, true);
|
||||
|
||||
static RegisterAnalysisGroup<ProfileInfo> Y(X);
|
||||
INITIALIZE_AG_PASS(LoaderPass, ProfileInfo, "profile-loader",
|
||||
"Load profile information from llvmprof.out", false, true, false);
|
||||
|
||||
char &llvm::ProfileLoaderPassID = LoaderPass::ID;
|
||||
|
||||
|
@ -24,8 +24,8 @@ TEMPLATE_INSTANTIATION(class DominatorTreeBase<MachineBasicBlock>);
|
||||
|
||||
char MachineDominatorTree::ID = 0;
|
||||
|
||||
static RegisterPass<MachineDominatorTree>
|
||||
E("machinedomtree", "MachineDominator Tree Construction", true);
|
||||
INITIALIZE_PASS(MachineDominatorTree, "machinedomtree",
|
||||
"MachineDominator Tree Construction", true, true);
|
||||
|
||||
char &llvm::MachineDominatorsID = MachineDominatorTree::ID;
|
||||
|
||||
|
@ -30,8 +30,8 @@ TEMPLATE_INSTANTIATION(MLIB);
|
||||
}
|
||||
|
||||
char MachineLoopInfo::ID = 0;
|
||||
static RegisterPass<MachineLoopInfo>
|
||||
X("machine-loops", "Machine Natural Loop Construction", true);
|
||||
INITIALIZE_PASS(MachineLoopInfo, "machine-loops",
|
||||
"Machine Natural Loop Construction", true, true);
|
||||
|
||||
char &llvm::MachineLoopInfoID = MachineLoopInfo::ID;
|
||||
|
||||
|
@ -211,9 +211,8 @@ namespace {
|
||||
}
|
||||
|
||||
char MachineVerifierPass::ID = 0;
|
||||
static RegisterPass<MachineVerifierPass>
|
||||
MachineVer("machineverifier", "Verify generated machine code");
|
||||
static const PassInfo *const MachineVerifyID = &MachineVer;
|
||||
INITIALIZE_PASS(MachineVerifierPass, "machineverifier",
|
||||
"Verify generated machine code", false, false);
|
||||
|
||||
FunctionPass *llvm::createMachineVerifierPass() {
|
||||
return new MachineVerifierPass();
|
||||
|
@ -38,8 +38,8 @@ STATISTIC(NumAtomic, "Number of atomic phis lowered");
|
||||
STATISTIC(NumReused, "Number of reused lowered phis");
|
||||
|
||||
char PHIElimination::ID = 0;
|
||||
static RegisterPass<PHIElimination>
|
||||
X("phi-node-elimination", "Eliminate PHI nodes for register allocation");
|
||||
INITIALIZE_PASS(PHIElimination, "phi-node-elimination",
|
||||
"Eliminate PHI nodes for register allocation", false, false);
|
||||
|
||||
char &llvm::PHIEliminationID = PHIElimination::ID;
|
||||
|
||||
|
@ -203,8 +203,9 @@ namespace {
|
||||
|
||||
char PreAllocSplitting::ID = 0;
|
||||
|
||||
static RegisterPass<PreAllocSplitting>
|
||||
X("pre-alloc-splitting", "Pre-Register Allocation Live Interval Splitting");
|
||||
INITIALIZE_PASS(PreAllocSplitting, "pre-alloc-splitting",
|
||||
"Pre-Register Allocation Live Interval Splitting",
|
||||
false, false);
|
||||
|
||||
char &llvm::PreAllocSplittingID = PreAllocSplitting::ID;
|
||||
|
||||
|
@ -59,11 +59,9 @@ DisableCrossClassJoin("disable-cross-class-join",
|
||||
cl::desc("Avoid coalescing cross register class copies"),
|
||||
cl::init(false), cl::Hidden);
|
||||
|
||||
static RegisterPass<SimpleRegisterCoalescing>
|
||||
X("simple-register-coalescing", "Simple Register Coalescing");
|
||||
|
||||
// Declare that we implement the RegisterCoalescer interface
|
||||
static RegisterAnalysisGroup<RegisterCoalescer, true/*The Default*/> V(X);
|
||||
INITIALIZE_AG_PASS(SimpleRegisterCoalescing, RegisterCoalescer,
|
||||
"simple-register-coalescing", "Simple Register Coalescing",
|
||||
false, false, true);
|
||||
|
||||
char &llvm::SimpleRegisterCoalescingID = SimpleRegisterCoalescing::ID;
|
||||
|
||||
|
@ -150,9 +150,8 @@ namespace {
|
||||
}
|
||||
|
||||
char StrongPHIElimination::ID = 0;
|
||||
static RegisterPass<StrongPHIElimination>
|
||||
X("strong-phi-node-elimination",
|
||||
"Eliminate PHI nodes for register allocation, intelligently");
|
||||
INITIALIZE_PASS(StrongPHIElimination, "strong-phi-node-elimination",
|
||||
"Eliminate PHI nodes for register allocation, intelligently", false, false);
|
||||
|
||||
char &llvm::StrongPHIEliminationID = StrongPHIElimination::ID;
|
||||
|
||||
|
@ -159,8 +159,8 @@ namespace {
|
||||
}
|
||||
|
||||
char TwoAddressInstructionPass::ID = 0;
|
||||
static RegisterPass<TwoAddressInstructionPass>
|
||||
X("twoaddressinstruction", "Two-Address instruction pass");
|
||||
INITIALIZE_PASS(TwoAddressInstructionPass, "twoaddressinstruction",
|
||||
"Two-Address instruction pass", false, false);
|
||||
|
||||
char &llvm::TwoAddressInstructionPassID = TwoAddressInstructionPass::ID;
|
||||
|
||||
|
@ -105,9 +105,8 @@ namespace {
|
||||
}
|
||||
char UnreachableMachineBlockElim::ID = 0;
|
||||
|
||||
static RegisterPass<UnreachableMachineBlockElim>
|
||||
Y("unreachable-mbb-elimination",
|
||||
"Remove unreachable machine basic blocks");
|
||||
INITIALIZE_PASS(UnreachableMachineBlockElim, "unreachable-mbb-elimination",
|
||||
"Remove unreachable machine basic blocks", false, false);
|
||||
|
||||
char &llvm::UnreachableMachineBlockElimID = UnreachableMachineBlockElim::ID;
|
||||
|
||||
|
@ -154,7 +154,8 @@ struct LowerAtomic : public BasicBlockPass {
|
||||
}
|
||||
|
||||
char LowerAtomic::ID = 0;
|
||||
static RegisterPass<LowerAtomic>
|
||||
X("loweratomic", "Lower atomic intrinsics to non-atomic form");
|
||||
INITIALIZE_PASS(LowerAtomic, "loweratomic",
|
||||
"Lower atomic intrinsics to non-atomic form",
|
||||
false, false);
|
||||
|
||||
Pass *llvm::createLowerAtomicPass() { return new LowerAtomic(); }
|
||||
|
@ -59,8 +59,8 @@ namespace {
|
||||
}
|
||||
|
||||
char RegToMem::ID = 0;
|
||||
static RegisterPass<RegToMem>
|
||||
X("reg2mem", "Demote all values to stack slots");
|
||||
INITIALIZE_PASS(RegToMem, "reg2mem", "Demote all values to stack slots",
|
||||
false, false);
|
||||
|
||||
|
||||
bool RegToMem::runOnFunction(Function &F) {
|
||||
|
@ -53,8 +53,8 @@ namespace {
|
||||
}
|
||||
|
||||
char BreakCriticalEdges::ID = 0;
|
||||
static RegisterPass<BreakCriticalEdges>
|
||||
X("break-crit-edges", "Break critical edges in CFG");
|
||||
INITIALIZE_PASS(BreakCriticalEdges, "break-crit-edges",
|
||||
"Break critical edges in CFG", false, false);
|
||||
|
||||
// Publically exposed interface to pass...
|
||||
char &llvm::BreakCriticalEdgesID = BreakCriticalEdges::ID;
|
||||
|
@ -48,8 +48,8 @@ namespace {
|
||||
};
|
||||
|
||||
char InstNamer::ID = 0;
|
||||
static RegisterPass<InstNamer> X("instnamer",
|
||||
"Assign names to anonymous instructions");
|
||||
INITIALIZE_PASS(InstNamer, "instnamer",
|
||||
"Assign names to anonymous instructions", false, false);
|
||||
}
|
||||
|
||||
|
||||
|
@ -90,7 +90,7 @@ namespace {
|
||||
}
|
||||
|
||||
char LCSSA::ID = 0;
|
||||
static RegisterPass<LCSSA> X("lcssa", "Loop-Closed SSA Form Pass");
|
||||
INITIALIZE_PASS(LCSSA, "lcssa", "Loop-Closed SSA Form Pass", false, false);
|
||||
|
||||
Pass *llvm::createLCSSAPass() { return new LCSSA(); }
|
||||
char &llvm::LCSSAID = LCSSA::ID;
|
||||
|
@ -105,8 +105,8 @@ namespace {
|
||||
}
|
||||
|
||||
char LoopSimplify::ID = 0;
|
||||
static RegisterPass<LoopSimplify>
|
||||
X("loopsimplify", "Canonicalize natural loops", true);
|
||||
INITIALIZE_PASS(LoopSimplify, "loopsimplify",
|
||||
"Canonicalize natural loops", true, false);
|
||||
|
||||
// Publically exposed interface to pass...
|
||||
char &llvm::LoopSimplifyID = LoopSimplify::ID;
|
||||
|
@ -100,8 +100,9 @@ namespace {
|
||||
}
|
||||
|
||||
char LowerInvoke::ID = 0;
|
||||
static RegisterPass<LowerInvoke>
|
||||
X("lowerinvoke", "Lower invoke and unwind, for unwindless code generators");
|
||||
INITIALIZE_PASS(LowerInvoke, "lowerinvoke",
|
||||
"Lower invoke and unwind, for unwindless code generators",
|
||||
false, false);
|
||||
|
||||
char &llvm::LowerInvokePassID = LowerInvoke::ID;
|
||||
|
||||
|
@ -79,8 +79,8 @@ namespace {
|
||||
}
|
||||
|
||||
char LowerSwitch::ID = 0;
|
||||
static RegisterPass<LowerSwitch>
|
||||
X("lowerswitch", "Lower SwitchInst's to branches");
|
||||
INITIALIZE_PASS(LowerSwitch, "lowerswitch",
|
||||
"Lower SwitchInst's to branches", false, false);
|
||||
|
||||
// Publically exposed interface to pass...
|
||||
char &llvm::LowerSwitchID = LowerSwitch::ID;
|
||||
|
@ -49,7 +49,8 @@ namespace {
|
||||
} // end of anonymous namespace
|
||||
|
||||
char PromotePass::ID = 0;
|
||||
static RegisterPass<PromotePass> X("mem2reg", "Promote Memory to Register");
|
||||
INITIALIZE_PASS(PromotePass, "mem2reg", "Promote Memory to Register",
|
||||
false, false);
|
||||
|
||||
bool PromotePass::runOnFunction(Function &F) {
|
||||
std::vector<AllocaInst*> Allocas;
|
||||
|
@ -102,8 +102,8 @@ namespace { // Anonymous namespace for class
|
||||
}
|
||||
|
||||
char PreVerifier::ID = 0;
|
||||
static RegisterPass<PreVerifier>
|
||||
PreVer("preverify", "Preliminary module verification");
|
||||
INITIALIZE_PASS(PreVerifier, "preverify", "Preliminary module verification",
|
||||
false, false);
|
||||
char &PreVerifyID = PreVerifier::ID;
|
||||
|
||||
namespace {
|
||||
@ -403,7 +403,7 @@ namespace {
|
||||
} // End anonymous namespace
|
||||
|
||||
char Verifier::ID = 0;
|
||||
static RegisterPass<Verifier> X("verify", "Module Verifier");
|
||||
INITIALIZE_PASS(Verifier, "verify", "Module Verifier", false, false);
|
||||
|
||||
// Assert - We know that cond should be true, if not print an error message.
|
||||
#define Assert(C, M) \
|
||||
|
Loading…
Reference in New Issue
Block a user