mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[RABasic] Properly initialize the pass
Use the initializeXXX method to initialize the RABasic pass in the pipeline. This enables us to take advantage of the .mir infrastructure. llvm-svn: 304602
This commit is contained in:
parent
6528a52275
commit
778a3ceaae
@ -140,6 +140,9 @@ namespace llvm {
|
||||
/// Greedy register allocator.
|
||||
extern char &RAGreedyID;
|
||||
|
||||
/// Basic register allocator.
|
||||
extern char &RABasicID;
|
||||
|
||||
/// VirtRegRewriter pass. Rewrite virtual registers to physical registers as
|
||||
/// assigned in VirtRegMap.
|
||||
extern char &VirtRegRewriterID;
|
||||
|
@ -304,6 +304,7 @@ void initializeProcessImplicitDefsPass(PassRegistry&);
|
||||
void initializeProfileSummaryInfoWrapperPassPass(PassRegistry&);
|
||||
void initializePromoteLegacyPassPass(PassRegistry&);
|
||||
void initializePruneEHPass(PassRegistry&);
|
||||
void initializeRABasicPass(PassRegistry &);
|
||||
void initializeRAGreedyPass(PassRegistry&);
|
||||
void initializeReassociateLegacyPassPass(PassRegistry&);
|
||||
void initializeRegBankSelectPass(PassRegistry&);
|
||||
|
@ -77,6 +77,7 @@ void llvm::initializeCodeGen(PassRegistry &Registry) {
|
||||
initializePostRASchedulerPass(Registry);
|
||||
initializePreISelIntrinsicLoweringLegacyPassPass(Registry);
|
||||
initializeProcessImplicitDefsPass(Registry);
|
||||
initializeRABasicPass(Registry);
|
||||
initializeRAGreedyPass(Registry);
|
||||
initializeRegisterCoalescerPass(Registry);
|
||||
initializeRenameIndependentSubregsPass(Registry);
|
||||
|
@ -121,17 +121,24 @@ char RABasic::ID = 0;
|
||||
|
||||
} // end anonymous namespace
|
||||
|
||||
char &llvm::RABasicID = RABasic::ID;
|
||||
|
||||
INITIALIZE_PASS_BEGIN(RABasic, "regallocbasic", "Basic Register Allocator",
|
||||
false, false)
|
||||
INITIALIZE_PASS_DEPENDENCY(LiveDebugVariables)
|
||||
INITIALIZE_PASS_DEPENDENCY(SlotIndexes)
|
||||
INITIALIZE_PASS_DEPENDENCY(LiveIntervals)
|
||||
INITIALIZE_PASS_DEPENDENCY(RegisterCoalescer)
|
||||
INITIALIZE_PASS_DEPENDENCY(MachineScheduler)
|
||||
INITIALIZE_PASS_DEPENDENCY(LiveStacks)
|
||||
INITIALIZE_PASS_DEPENDENCY(MachineDominatorTree)
|
||||
INITIALIZE_PASS_DEPENDENCY(MachineLoopInfo)
|
||||
INITIALIZE_PASS_DEPENDENCY(VirtRegMap)
|
||||
INITIALIZE_PASS_DEPENDENCY(LiveRegMatrix)
|
||||
INITIALIZE_PASS_END(RABasic, "regallocbasic", "Basic Register Allocator", false,
|
||||
false)
|
||||
|
||||
RABasic::RABasic(): MachineFunctionPass(ID) {
|
||||
initializeLiveDebugVariablesPass(*PassRegistry::getPassRegistry());
|
||||
initializeLiveIntervalsPass(*PassRegistry::getPassRegistry());
|
||||
initializeSlotIndexesPass(*PassRegistry::getPassRegistry());
|
||||
initializeRegisterCoalescerPass(*PassRegistry::getPassRegistry());
|
||||
initializeMachineSchedulerPass(*PassRegistry::getPassRegistry());
|
||||
initializeLiveStacksPass(*PassRegistry::getPassRegistry());
|
||||
initializeMachineDominatorTreePass(*PassRegistry::getPassRegistry());
|
||||
initializeMachineLoopInfoPass(*PassRegistry::getPassRegistry());
|
||||
initializeVirtRegMapPass(*PassRegistry::getPassRegistry());
|
||||
initializeLiveRegMatrixPass(*PassRegistry::getPassRegistry());
|
||||
}
|
||||
|
||||
void RABasic::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
|
@ -1,4 +1,5 @@
|
||||
# RUN: llc -run-pass=greedy -debug-pass=Arguments -o - %s | FileCheck %s
|
||||
# RUN: llc -run-pass=regallocbasic -debug-pass=Arguments -o - %s | FileCheck %s
|
||||
|
||||
# Check that passes are initialized correctly, so that it's possible to
|
||||
# use -run-pass.
|
||||
|
Loading…
x
Reference in New Issue
Block a user