Lines Matching defs:IfConv

769   SSAIfConv IfConv;
809 void updateDomTree(MachineDominatorTree *DomTree, const SSAIfConv &IfConv,
814 MachineDomTreeNode *HeadNode = DomTree->getNode(IfConv.Head);
819 assert(Node->getBlock() == IfConv.Tail && "Unexpected children");
839 Traces->invalidate(IfConv.Head);
840 Traces->invalidate(IfConv.Tail);
841 Traces->invalidate(IfConv.TBB);
842 Traces->invalidate(IfConv.FBB);
864 /// Apply cost model and heuristics to the if-conversion in IfConv.
874 MachineLoop *CurrentLoop = Loops->getLoopFor(IfConv.Head);
880 if (CurrentLoop && any_of(IfConv.Cond, [&](MachineOperand &MO) {
907 MachineTraceMetrics::Trace TBBTrace = MinInstr->getTrace(IfConv.getTPred());
908 MachineTraceMetrics::Trace FBBTrace = MinInstr->getTrace(IfConv.getFPred());
916 MachineBasicBlock &MBB = *IfConv.Head;
923 if (IfConv.TBB != IfConv.Tail)
924 ExtraBlocks.push_back(IfConv.TBB);
947 MachineTraceMetrics::Trace HeadTrace = MinInstr->getTrace(IfConv.Head);
949 HeadTrace.getInstrCycles(*IfConv.Head->getFirstTerminator()).Depth;
954 MachineTraceMetrics::Trace TailTrace = MinInstr->getTrace(IfConv.Tail);
963 for (SSAIfConv::PHIInfo &PI : IfConv.PHIs) {
1062 while (IfConv.canConvertIf(MBB) && shouldConvertIf()) {
1066 IfConv.convertIf(RemovedBlocks);
1068 updateDomTree(DomTree, IfConv, RemovedBlocks);
1095 IfConv.runOnMachineFunction(MF);
1121 SSAIfConv IfConv;
1160 auto TrueProbability = MBPI->getEdgeProbability(IfConv.Head, IfConv.TBB);
1161 if (IfConv.isTriangle()) {
1163 (IfConv.TBB == IfConv.Tail) ? *IfConv.FBB : *IfConv.TBB;
1181 for (MachineInstr &I : *IfConv.TBB) {
1187 for (MachineInstr &I : *IfConv.FBB) {
1193 return TII->isProfitableToIfCvt(*IfConv.TBB, TCycle, TExtra, *IfConv.FBB,
1201 while (IfConv.canConvertIf(MBB, /*Predicate*/ true) && shouldConvertIf()) {
1204 IfConv.convertIf(RemovedBlocks, /*Predicate*/ true);
1206 updateDomTree(DomTree, IfConv, RemovedBlocks);
1228 IfConv.runOnMachineFunction(MF);