Lines Matching refs:SuccToSinkTo

239                               MachineBasicBlock *SuccToSinkTo,
739 MachineBasicBlock *SuccToSinkTo, in isProfitableToSinkTo() argument
741 assert (SuccToSinkTo && "Invalid SinkTo Candidate BB"); in isProfitableToSinkTo()
743 if (MBB == SuccToSinkTo) in isProfitableToSinkTo()
747 if (!PDT->dominates(SuccToSinkTo, MBB)) in isProfitableToSinkTo()
752 if (LI->getLoopDepth(MBB) > LI->getLoopDepth(SuccToSinkTo)) in isProfitableToSinkTo()
759 if (UseBlock == SuccToSinkTo && !UseInst.isPHI()) in isProfitableToSinkTo()
770 FindSuccToSinkTo(MI, SuccToSinkTo, BreakPHIEdge, AllSuccessors)) in isProfitableToSinkTo()
771 return isProfitableToSinkTo(Reg, MI, SuccToSinkTo, MBB2, AllSuccessors); in isProfitableToSinkTo()
785 getBBRegisterPressure(*SuccToSinkTo); in isProfitableToSinkTo()
814 if (!AllUsesDominatedByBlock(Reg, SuccToSinkTo, MBB, BreakPHIEdge, in isProfitableToSinkTo()
896 MachineBasicBlock *SuccToSinkTo = nullptr; in FindSuccToSinkTo() local
925 if (SuccToSinkTo) { in FindSuccToSinkTo()
929 if (!AllUsesDominatedByBlock(Reg, SuccToSinkTo, MBB, in FindSuccToSinkTo()
945 SuccToSinkTo = SuccBlock; in FindSuccToSinkTo()
954 if (!SuccToSinkTo) in FindSuccToSinkTo()
956 if (!isProfitableToSinkTo(Reg, MI, MBB, SuccToSinkTo, AllSuccessors)) in FindSuccToSinkTo()
963 if (MBB == SuccToSinkTo) in FindSuccToSinkTo()
968 if (SuccToSinkTo && SuccToSinkTo->isEHPad()) in FindSuccToSinkTo()
975 if (SuccToSinkTo && SuccToSinkTo->isInlineAsmBrIndirectTarget()) in FindSuccToSinkTo()
978 return SuccToSinkTo; in FindSuccToSinkTo()
1085 static void performSink(MachineInstr &MI, MachineBasicBlock &SuccToSinkTo, in performSink() argument
1092 if (!SuccToSinkTo.empty() && InsertPos != SuccToSinkTo.end()) in performSink()
1100 SuccToSinkTo.splice(InsertPos, ParentBlock, MI, in performSink()
1110 SuccToSinkTo.insert(InsertPos, NewDbgMI); in performSink()
1320 MachineBasicBlock *SuccToSinkTo = in SinkInstruction() local
1324 if (!SuccToSinkTo) in SinkInstruction()
1336 if (SuccToSinkTo->isLiveIn(Reg)) in SinkInstruction()
1340 LLVM_DEBUG(dbgs() << "Sink instr " << MI << "\tinto block " << *SuccToSinkTo); in SinkInstruction()
1344 if (SuccToSinkTo->pred_size() > 1) { in SinkInstruction()
1349 MI.mayLoad() ? hasStoreBetween(ParentBlock, SuccToSinkTo, MI) : true; in SinkInstruction()
1357 if (!TryBreak && !DT->dominates(ParentBlock, SuccToSinkTo)) { in SinkInstruction()
1363 if (!TryBreak && LI->isLoopHeader(SuccToSinkTo)) { in SinkInstruction()
1376 PostponeSplitCriticalEdge(MI, ParentBlock, SuccToSinkTo, BreakPHIEdge); in SinkInstruction()
1390 SuccToSinkTo, BreakPHIEdge); in SinkInstruction()
1399 MachineBasicBlock::iterator InsertPos = SuccToSinkTo->begin(); in SinkInstruction()
1400 while (InsertPos != SuccToSinkTo->end() && InsertPos->isPHI()) in SinkInstruction()
1431 SalvageUnsunkDebugUsersOfCopy(MI, SuccToSinkTo); in SinkInstruction()
1433 performSink(MI, *SuccToSinkTo, InsertPos, DbgUsersToSink); in SinkInstruction()