Lines Matching defs:IfConv

773   SSAIfConv IfConv;
823 void updateDomTree(MachineDominatorTree *DomTree, const SSAIfConv &IfConv,
828 MachineDomTreeNode *HeadNode = DomTree->getNode(IfConv.Head);
833 assert(Node->getBlock() == IfConv.Tail && "Unexpected children");
853 Traces->invalidate(IfConv.Head);
854 Traces->invalidate(IfConv.Tail);
855 Traces->invalidate(IfConv.TBB);
856 Traces->invalidate(IfConv.FBB);
878 /// Apply cost model and heuristics to the if-conversion in IfConv.
888 MachineLoop *CurrentLoop = Loops->getLoopFor(IfConv.Head);
894 if (CurrentLoop && any_of(IfConv.Cond, [&](MachineOperand &MO) {
921 MachineTraceMetrics::Trace TBBTrace = MinInstr->getTrace(IfConv.getTPred());
922 MachineTraceMetrics::Trace FBBTrace = MinInstr->getTrace(IfConv.getFPred());
930 MachineBasicBlock &MBB = *IfConv.Head;
937 if (IfConv.TBB != IfConv.Tail)
938 ExtraBlocks.push_back(IfConv.TBB);
961 MachineTraceMetrics::Trace HeadTrace = MinInstr->getTrace(IfConv.Head);
963 HeadTrace.getInstrCycles(*IfConv.Head->getFirstTerminator()).Depth;
968 MachineTraceMetrics::Trace TailTrace = MinInstr->getTrace(IfConv.Tail);
977 for (SSAIfConv::PHIInfo &PI : IfConv.PHIs) {
1076 while (IfConv.canConvertIf(MBB) && shouldConvertIf()) {
1080 IfConv.convertIf(RemoveBlocks);
1082 updateDomTree(DomTree, IfConv, RemoveBlocks);
1106 IfConv.init(MF);
1164 SSAIfConv IfConv;
1203 auto TrueProbability = MBPI->getEdgeProbability(IfConv.Head, IfConv.TBB);
1204 if (IfConv.isTriangle()) {
1206 (IfConv.TBB == IfConv.Tail) ? *IfConv.FBB : *IfConv.TBB;
1224 for (MachineInstr &I : *IfConv.TBB) {
1230 for (MachineInstr &I : *IfConv.FBB) {
1236 return TII->isProfitableToIfCvt(*IfConv.TBB, TCycle, TExtra, *IfConv.FBB,
1244 while (IfConv.canConvertIf(MBB, /*Predicate*/ true) && shouldConvertIf()) {
1247 IfConv.convertIf(RemoveBlocks, /*Predicate*/ true);
1249 updateDomTree(DomTree, IfConv, RemoveBlocks);
1273 IfConv.init(MF);