Lines Matching refs:SuccToSinkTo

249                               MachineBasicBlock *SuccToSinkTo,
1045 MachineBasicBlock *SuccToSinkTo, in isProfitableToSinkTo() argument
1047 assert (SuccToSinkTo && "Invalid SinkTo Candidate BB"); in isProfitableToSinkTo()
1049 if (MBB == SuccToSinkTo) in isProfitableToSinkTo()
1053 if (!PDT->dominates(SuccToSinkTo, MBB)) in isProfitableToSinkTo()
1058 if (CI->getCycleDepth(MBB) > CI->getCycleDepth(SuccToSinkTo)) in isProfitableToSinkTo()
1065 if (UseBlock == SuccToSinkTo && !UseInst.isPHI()) in isProfitableToSinkTo()
1076 FindSuccToSinkTo(MI, SuccToSinkTo, BreakPHIEdge, AllSuccessors)) in isProfitableToSinkTo()
1077 return isProfitableToSinkTo(Reg, MI, SuccToSinkTo, MBB2, AllSuccessors); in isProfitableToSinkTo()
1107 if (!AllUsesDominatedByBlock(Reg, SuccToSinkTo, MBB, BreakPHIEdge, in isProfitableToSinkTo()
1126 *SuccToSinkTo)) { in isProfitableToSinkTo()
1193 MachineBasicBlock *SuccToSinkTo = nullptr; in FindSuccToSinkTo() local
1221 if (SuccToSinkTo) { in FindSuccToSinkTo()
1225 if (!AllUsesDominatedByBlock(Reg, SuccToSinkTo, MBB, in FindSuccToSinkTo()
1241 SuccToSinkTo = SuccBlock; in FindSuccToSinkTo()
1250 if (!SuccToSinkTo) in FindSuccToSinkTo()
1252 if (!isProfitableToSinkTo(Reg, MI, MBB, SuccToSinkTo, AllSuccessors)) in FindSuccToSinkTo()
1259 if (MBB == SuccToSinkTo) in FindSuccToSinkTo()
1264 if (SuccToSinkTo && SuccToSinkTo->isEHPad()) in FindSuccToSinkTo()
1271 if (SuccToSinkTo && SuccToSinkTo->isInlineAsmBrIndirectTarget()) in FindSuccToSinkTo()
1274 if (SuccToSinkTo && !TII->isSafeToSink(MI, SuccToSinkTo, CI)) in FindSuccToSinkTo()
1277 return SuccToSinkTo; in FindSuccToSinkTo()
1384 static void performSink(MachineInstr &MI, MachineBasicBlock &SuccToSinkTo, in performSink() argument
1390 if (!SuccToSinkTo.empty() && InsertPos != SuccToSinkTo.end()) in performSink()
1398 SuccToSinkTo.splice(InsertPos, ParentBlock, MI, in performSink()
1408 SuccToSinkTo.insert(InsertPos, NewDbgMI); in performSink()
1627 MachineBasicBlock *SuccToSinkTo = in SinkInstruction() local
1631 if (!SuccToSinkTo) in SinkInstruction()
1641 if (SuccToSinkTo->isLiveIn(Reg)) in SinkInstruction()
1645 LLVM_DEBUG(dbgs() << "Sink instr " << MI << "\tinto block " << *SuccToSinkTo); in SinkInstruction()
1649 if (SuccToSinkTo->pred_size() > 1) { in SinkInstruction()
1654 MI.mayLoad() ? hasStoreBetween(ParentBlock, SuccToSinkTo, MI) : true; in SinkInstruction()
1662 if (!TryBreak && !DT->dominates(ParentBlock, SuccToSinkTo)) { in SinkInstruction()
1668 if (!TryBreak && CI->getCycle(SuccToSinkTo) && in SinkInstruction()
1669 (!CI->getCycle(SuccToSinkTo)->isReducible() || in SinkInstruction()
1670 CI->getCycle(SuccToSinkTo)->getHeader() == SuccToSinkTo)) { in SinkInstruction()
1683 PostponeSplitCriticalEdge(MI, ParentBlock, SuccToSinkTo, BreakPHIEdge); in SinkInstruction()
1697 SuccToSinkTo, BreakPHIEdge); in SinkInstruction()
1707 SuccToSinkTo->SkipPHIsAndLabels(SuccToSinkTo->begin()); in SinkInstruction()
1708 if (blockPrologueInterferes(SuccToSinkTo, InsertPos, MI, TRI, TII, MRI)) { in SinkInstruction()
1741 SalvageUnsunkDebugUsersOfCopy(MI, SuccToSinkTo); in SinkInstruction()
1743 performSink(MI, *SuccToSinkTo, InsertPos, DbgUsersToSink); in SinkInstruction()