Lines Matching refs:SuccToSinkTo

243                               MachineBasicBlock *SuccToSinkTo,
742 MachineBasicBlock *SuccToSinkTo, in isProfitableToSinkTo() argument
744 assert (SuccToSinkTo && "Invalid SinkTo Candidate BB"); in isProfitableToSinkTo()
746 if (MBB == SuccToSinkTo) in isProfitableToSinkTo()
750 if (!PDT->dominates(SuccToSinkTo, MBB)) in isProfitableToSinkTo()
755 if (CI->getCycleDepth(MBB) > CI->getCycleDepth(SuccToSinkTo)) in isProfitableToSinkTo()
762 if (UseBlock == SuccToSinkTo && !UseInst.isPHI()) in isProfitableToSinkTo()
773 FindSuccToSinkTo(MI, SuccToSinkTo, BreakPHIEdge, AllSuccessors)) in isProfitableToSinkTo()
774 return isProfitableToSinkTo(Reg, MI, SuccToSinkTo, MBB2, AllSuccessors); in isProfitableToSinkTo()
788 getBBRegisterPressure(*SuccToSinkTo); in isProfitableToSinkTo()
821 if (!AllUsesDominatedByBlock(Reg, SuccToSinkTo, MBB, BreakPHIEdge, in isProfitableToSinkTo()
906 MachineBasicBlock *SuccToSinkTo = nullptr; in FindSuccToSinkTo() local
934 if (SuccToSinkTo) { in FindSuccToSinkTo()
938 if (!AllUsesDominatedByBlock(Reg, SuccToSinkTo, MBB, in FindSuccToSinkTo()
954 SuccToSinkTo = SuccBlock; in FindSuccToSinkTo()
963 if (!SuccToSinkTo) in FindSuccToSinkTo()
965 if (!isProfitableToSinkTo(Reg, MI, MBB, SuccToSinkTo, AllSuccessors)) in FindSuccToSinkTo()
972 if (MBB == SuccToSinkTo) in FindSuccToSinkTo()
977 if (SuccToSinkTo && SuccToSinkTo->isEHPad()) in FindSuccToSinkTo()
984 if (SuccToSinkTo && SuccToSinkTo->isInlineAsmBrIndirectTarget()) in FindSuccToSinkTo()
987 return SuccToSinkTo; in FindSuccToSinkTo()
1094 static void performSink(MachineInstr &MI, MachineBasicBlock &SuccToSinkTo, in performSink() argument
1100 if (!SuccToSinkTo.empty() && InsertPos != SuccToSinkTo.end()) in performSink()
1108 SuccToSinkTo.splice(InsertPos, ParentBlock, MI, in performSink()
1118 SuccToSinkTo.insert(InsertPos, NewDbgMI); in performSink()
1376 MachineBasicBlock *SuccToSinkTo = in SinkInstruction() local
1380 if (!SuccToSinkTo) in SinkInstruction()
1392 if (SuccToSinkTo->isLiveIn(Reg)) in SinkInstruction()
1396 LLVM_DEBUG(dbgs() << "Sink instr " << MI << "\tinto block " << *SuccToSinkTo); in SinkInstruction()
1400 if (SuccToSinkTo->pred_size() > 1) { in SinkInstruction()
1405 MI.mayLoad() ? hasStoreBetween(ParentBlock, SuccToSinkTo, MI) : true; in SinkInstruction()
1413 if (!TryBreak && !DT->dominates(ParentBlock, SuccToSinkTo)) { in SinkInstruction()
1419 if (!TryBreak && CI->getCycle(SuccToSinkTo) && in SinkInstruction()
1420 (!CI->getCycle(SuccToSinkTo)->isReducible() || in SinkInstruction()
1421 CI->getCycle(SuccToSinkTo)->getHeader() == SuccToSinkTo)) { in SinkInstruction()
1434 PostponeSplitCriticalEdge(MI, ParentBlock, SuccToSinkTo, BreakPHIEdge); in SinkInstruction()
1448 SuccToSinkTo, BreakPHIEdge); in SinkInstruction()
1458 SuccToSinkTo->SkipPHIsAndLabels(SuccToSinkTo->begin()); in SinkInstruction()
1459 if (blockPrologueInterferes(SuccToSinkTo, InsertPos, MI, TRI, TII, MRI)) { in SinkInstruction()
1492 SalvageUnsunkDebugUsersOfCopy(MI, SuccToSinkTo); in SinkInstruction()
1494 performSink(MI, *SuccToSinkTo, InsertPos, DbgUsersToSink); in SinkInstruction()