diff options
Diffstat (limited to 'llvm/lib/CodeGen/MachinePipeliner.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachinePipeliner.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/MachinePipeliner.cpp b/llvm/lib/CodeGen/MachinePipeliner.cpp index 4460f1f..2488f81f 100644 --- a/llvm/lib/CodeGen/MachinePipeliner.cpp +++ b/llvm/lib/CodeGen/MachinePipeliner.cpp @@ -236,7 +236,7 @@ INITIALIZE_PASS_BEGIN(MachinePipeliner, DEBUG_TYPE, INITIALIZE_PASS_DEPENDENCY(AAResultsWrapperPass) INITIALIZE_PASS_DEPENDENCY(MachineLoopInfoWrapperPass) INITIALIZE_PASS_DEPENDENCY(MachineDominatorTreeWrapperPass) -INITIALIZE_PASS_DEPENDENCY(LiveIntervals) +INITIALIZE_PASS_DEPENDENCY(LiveIntervalsWrapperPass) INITIALIZE_PASS_END(MachinePipeliner, DEBUG_TYPE, "Modulo Software Pipelining", false, false) @@ -437,7 +437,8 @@ bool MachinePipeliner::canPipelineLoop(MachineLoop &L) { void MachinePipeliner::preprocessPhiNodes(MachineBasicBlock &B) { MachineRegisterInfo &MRI = MF->getRegInfo(); - SlotIndexes &Slots = *getAnalysis<LiveIntervals>().getSlotIndexes(); + SlotIndexes &Slots = + *getAnalysis<LiveIntervalsWrapperPass>().getLIS().getSlotIndexes(); for (MachineInstr &PI : B.phis()) { MachineOperand &DefOp = PI.getOperand(0); @@ -472,8 +473,9 @@ void MachinePipeliner::preprocessPhiNodes(MachineBasicBlock &B) { bool MachinePipeliner::swingModuloScheduler(MachineLoop &L) { assert(L.getBlocks().size() == 1 && "SMS works on single blocks only."); - SwingSchedulerDAG SMS(*this, L, getAnalysis<LiveIntervals>(), RegClassInfo, - II_setByPragma, LI.LoopPipelinerInfo.get()); + SwingSchedulerDAG SMS( + *this, L, getAnalysis<LiveIntervalsWrapperPass>().getLIS(), RegClassInfo, + II_setByPragma, LI.LoopPipelinerInfo.get()); MachineBasicBlock *MBB = L.getHeader(); // The kernel should not include any terminator instructions. These @@ -501,7 +503,7 @@ void MachinePipeliner::getAnalysisUsage(AnalysisUsage &AU) const { AU.addPreserved<AAResultsWrapperPass>(); AU.addRequired<MachineLoopInfoWrapperPass>(); AU.addRequired<MachineDominatorTreeWrapperPass>(); - AU.addRequired<LiveIntervals>(); + AU.addRequired<LiveIntervalsWrapperPass>(); AU.addRequired<MachineOptimizationRemarkEmitterPass>(); AU.addRequired<TargetPassConfig>(); MachineFunctionPass::getAnalysisUsage(AU); @@ -514,7 +516,7 @@ bool MachinePipeliner::runWindowScheduler(MachineLoop &L) { Context.MDT = MDT; Context.PassConfig = &getAnalysis<TargetPassConfig>(); Context.AA = &getAnalysis<AAResultsWrapperPass>().getAAResults(); - Context.LIS = &getAnalysis<LiveIntervals>(); + Context.LIS = &getAnalysis<LiveIntervalsWrapperPass>().getLIS(); Context.RegClassInfo->runOnMachineFunction(*MF); WindowScheduler WS(&Context, L); return WS.run(); |