Lines Matching refs:FalseMBB
257 MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB);
259 MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB);
261 MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB,
264 MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB,
273 MachineBasicBlock *FalseMBB, MachineBasicBlock *LandMBB);
919 MachineBasicBlock *FalseMBB = getFalseBranch(MBB, BranchMI); in ifPatternMatch() local
920 NumMatch += serialPatternMatch(FalseMBB); in ifPatternMatch()
921 NumMatch += ifPatternMatch(FalseMBB); in ifPatternMatch()
925 assert (!TrueMBB->succ_empty() || !FalseMBB->succ_empty()); in ifPatternMatch()
927 if (TrueMBB->succ_size() == 1 && FalseMBB->succ_size() == 1 in ifPatternMatch()
928 && *TrueMBB->succ_begin() == *FalseMBB->succ_begin()) { in ifPatternMatch()
931 } else if (TrueMBB->succ_size() == 1 && *TrueMBB->succ_begin() == FalseMBB) { in ifPatternMatch()
933 LandBlk = FalseMBB; in ifPatternMatch()
934 FalseMBB = nullptr; in ifPatternMatch()
935 } else if (FalseMBB->succ_size() == 1 in ifPatternMatch()
936 && *FalseMBB->succ_begin() == TrueMBB) { in ifPatternMatch()
939 std::swap(TrueMBB, FalseMBB); in ifPatternMatch()
941 LandBlk = FalseMBB; in ifPatternMatch()
942 FalseMBB = nullptr; in ifPatternMatch()
943 } else if (FalseMBB->succ_size() == 1 in ifPatternMatch()
944 && isSameloopDetachedContbreak(TrueMBB, FalseMBB)) { in ifPatternMatch()
945 LandBlk = *FalseMBB->succ_begin(); in ifPatternMatch()
947 && isSameloopDetachedContbreak(FalseMBB, TrueMBB)) { in ifPatternMatch()
950 return NumMatch + handleJumpintoIf(MBB, TrueMBB, FalseMBB); in ifPatternMatch()
958 || (FalseMBB && FalseMBB->pred_size() > 1))) { in ifPatternMatch()
959 Cloned += improveSimpleJumpintoIf(MBB, TrueMBB, FalseMBB, &LandBlk); in ifPatternMatch()
967 if (FalseMBB && FalseMBB->pred_size() > 1) { in ifPatternMatch()
968 FalseMBB = cloneBlockForPredecessor(FalseMBB, MBB); in ifPatternMatch()
972 mergeIfthenelseBlock(BranchMI, MBB, TrueMBB, FalseMBB, LandBlk); in ifPatternMatch()
1065 MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB) { in handleJumpintoIf() argument
1066 int Num = handleJumpintoIfImp(HeadMBB, TrueMBB, FalseMBB); in handleJumpintoIf()
1070 Num = handleJumpintoIfImp(HeadMBB, FalseMBB, TrueMBB); in handleJumpintoIf()
1076 MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB) { in handleJumpintoIfImp() argument
1086 << FalseMBB->getNumber() << "\n";); in handleJumpintoIfImp()
1091 if (singlePathTo(FalseMBB, DownBlk) == SinglePath_InPath) { in handleJumpintoIfImp()
1095 Num += cloneOnSideEntryTo(HeadMBB, FalseMBB, DownBlk); in handleJumpintoIfImp()
1115 MachineBasicBlock *FalseMBB, MachineBasicBlock *LandMBB, bool Detail) { in showImproveSimpleJumpintoIf() argument
1133 if (FalseMBB) { in showImproveSimpleJumpintoIf()
1134 dbgs() << ", false = BB" << FalseMBB->getNumber() << " size = " in showImproveSimpleJumpintoIf()
1135 << FalseMBB->size() << " numPred = " << FalseMBB->pred_size(); in showImproveSimpleJumpintoIf()
1138 FalseMBB->print(dbgs()); in showImproveSimpleJumpintoIf()
1157 MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB, in improveSimpleJumpintoIf() argument
1165 && (!FalseMBB || FalseMBB->succ_size() <= 1)); in improveSimpleJumpintoIf()
1167 if (TrueMBB == FalseMBB) in improveSimpleJumpintoIf()
1171 MigrateFalse = needMigrateBlock(FalseMBB); in improveSimpleJumpintoIf()
1181 if (!MigrateFalse && FalseMBB && FalseMBB->pred_size() > 1) in improveSimpleJumpintoIf()
1186 showImproveSimpleJumpintoIf(HeadMBB, TrueMBB, FalseMBB, LandBlk, 0);); in improveSimpleJumpintoIf()
1302 migrateInstruction(FalseMBB, LandBlk, I); in improveSimpleJumpintoIf()
1315 if (MBB != TrueMBB && MBB != FalseMBB) in improveSimpleJumpintoIf()
1320 showImproveSimpleJumpintoIf(HeadMBB, TrueMBB, FalseMBB, LandBlk, 0);); in improveSimpleJumpintoIf()
1344 MachineBasicBlock *FalseMBB, MachineBasicBlock *LandMBB) { in mergeIfthenelseBlock() argument
1349 dbgs() << "{ "; if (FalseMBB) { in mergeIfthenelseBlock()
1350 dbgs() << "BB" << FalseMBB->getNumber(); in mergeIfthenelseBlock()
1380 if (FalseMBB) { in mergeIfthenelseBlock()
1382 MBB->splice(I, FalseMBB, FalseMBB->begin(), in mergeIfthenelseBlock()
1383 FalseMBB->end()); in mergeIfthenelseBlock()
1384 MBB->removeSuccessor(FalseMBB, true); in mergeIfthenelseBlock()
1385 if (LandMBB && !FalseMBB->succ_empty()) in mergeIfthenelseBlock()
1386 FalseMBB->removeSuccessor(LandMBB, true); in mergeIfthenelseBlock()
1387 retireBlock(FalseMBB); in mergeIfthenelseBlock()
1388 MLI->removeBlock(FalseMBB); in mergeIfthenelseBlock()
1394 if (LandMBB && TrueMBB && FalseMBB) in mergeIfthenelseBlock()