Lines Matching refs:SuccToSinkTo

168                               MachineBasicBlock *SuccToSinkTo,
519 MachineBasicBlock *SuccToSinkTo, in isProfitableToSinkTo() argument
521 assert (SuccToSinkTo && "Invalid SinkTo Candidate BB"); in isProfitableToSinkTo()
523 if (MBB == SuccToSinkTo) in isProfitableToSinkTo()
527 if (!PDT->dominates(SuccToSinkTo, MBB)) in isProfitableToSinkTo()
532 if (LI->getLoopDepth(MBB) > LI->getLoopDepth(SuccToSinkTo)) in isProfitableToSinkTo()
539 if (UseBlock == SuccToSinkTo && !UseInst.isPHI()) in isProfitableToSinkTo()
550 FindSuccToSinkTo(MI, SuccToSinkTo, BreakPHIEdge, AllSuccessors)) in isProfitableToSinkTo()
551 return isProfitableToSinkTo(Reg, MI, SuccToSinkTo, MBB2, AllSuccessors); in isProfitableToSinkTo()
615 MachineBasicBlock *SuccToSinkTo = nullptr; in FindSuccToSinkTo() local
644 if (SuccToSinkTo) { in FindSuccToSinkTo()
648 if (!AllUsesDominatedByBlock(Reg, SuccToSinkTo, MBB, in FindSuccToSinkTo()
664 SuccToSinkTo = SuccBlock; in FindSuccToSinkTo()
673 if (!SuccToSinkTo) in FindSuccToSinkTo()
675 if (!isProfitableToSinkTo(Reg, MI, MBB, SuccToSinkTo, AllSuccessors)) in FindSuccToSinkTo()
682 if (MBB == SuccToSinkTo) in FindSuccToSinkTo()
687 if (SuccToSinkTo && SuccToSinkTo->isEHPad()) in FindSuccToSinkTo()
690 return SuccToSinkTo; in FindSuccToSinkTo()
742 static void performSink(MachineInstr &MI, MachineBasicBlock &SuccToSinkTo, in performSink() argument
756 if (!SuccToSinkTo.empty() && InsertPos != SuccToSinkTo.end()) in performSink()
764 SuccToSinkTo.splice(InsertPos, ParentBlock, MI, in performSink()
772 SuccToSinkTo.splice(InsertPos, ParentBlock, DbgMI, in performSink()
809 MachineBasicBlock *SuccToSinkTo = in SinkInstruction() local
813 if (!SuccToSinkTo) in SinkInstruction()
824 if (SuccToSinkTo->isLiveIn(Reg)) in SinkInstruction()
828 LLVM_DEBUG(dbgs() << "Sink instr " << MI << "\tinto block " << *SuccToSinkTo); in SinkInstruction()
832 if (SuccToSinkTo->pred_size() > 1) { in SinkInstruction()
844 if (!TryBreak && !DT->dominates(ParentBlock, SuccToSinkTo)) { in SinkInstruction()
850 if (!TryBreak && LI->isLoopHeader(SuccToSinkTo)) { in SinkInstruction()
863 PostponeSplitCriticalEdge(MI, ParentBlock, SuccToSinkTo, BreakPHIEdge); in SinkInstruction()
877 SuccToSinkTo, BreakPHIEdge); in SinkInstruction()
886 MachineBasicBlock::iterator InsertPos = SuccToSinkTo->begin(); in SinkInstruction()
887 while (InsertPos != SuccToSinkTo->end() && InsertPos->isPHI()) in SinkInstruction()
890 performSink(MI, *SuccToSinkTo, InsertPos); in SinkInstruction()