Lines Matching refs:FalseBBI

231     bool ValidTriangle(BBInfo &TrueBBI, BBInfo &FalseBBI,
240 bool ValidDiamond(BBInfo &TrueBBI, BBInfo &FalseBBI,
243 bool ValidForkedDiamond(BBInfo &TrueBBI, BBInfo &FalseBBI,
254 BBInfo &TrueBBI, BBInfo &FalseBBI) const;
265 bool IfConvertDiamondCommon(BBInfo &BBI, BBInfo &TrueBBI, BBInfo &FalseBBI,
671 bool IfConverter::ValidTriangle(BBInfo &TrueBBI, BBInfo &FalseBBI, in ValidTriangle() argument
675 if (TrueBBI.BB == FalseBBI.BB) in ValidTriangle()
710 return TExit && TExit == FalseBBI.BB; in ValidTriangle()
816 BBInfo &TrueBBI, BBInfo &FalseBBI) const { in RescanInstructions()
818 TrueBBI.IsUnpredicable = FalseBBI.IsUnpredicable = false; in RescanInstructions()
822 ScanInstructions(FalseBBI, FIB, FIE, BranchUnpredicable); in RescanInstructions()
823 if (FalseBBI.IsUnpredicable) in RescanInstructions()
825 if (TrueBBI.ClobbersPred && FalseBBI.ClobbersPred) in RescanInstructions()
878 BBInfo &TrueBBI, BBInfo &FalseBBI, in ValidForkedDiamond() argument
883 FalseBBI.IsBeingAnalyzed || FalseBBI.IsDone) in ValidForkedDiamond()
886 if (!TrueBBI.IsBrAnalyzable || !FalseBBI.IsBrAnalyzable) in ValidForkedDiamond()
889 if (TrueBBI.BB->pred_size() > 1 || FalseBBI.BB->pred_size() > 1) in ValidForkedDiamond()
895 FalseBBI.BrCond.size() == 0) in ValidForkedDiamond()
900 MachineBasicBlock *FT = FalseBBI.TrueBB; in ValidForkedDiamond()
901 MachineBasicBlock *FF = FalseBBI.FalseBB; in ValidForkedDiamond()
908 FT = getNextBlock(*FalseBBI.BB); in ValidForkedDiamond()
910 FF = getNextBlock(*FalseBBI.BB); in ValidForkedDiamond()
922 if (!FalseBBI.IsBrReversible) in ValidForkedDiamond()
925 reverseBranchCondition(FalseBBI); in ValidForkedDiamond()
929 reverseBranchCondition(FalseBBI); in ValidForkedDiamond()
934 MachineBasicBlock::iterator FIB = FalseBBI.BB->begin(); in ValidForkedDiamond()
936 MachineBasicBlock::iterator FIE = FalseBBI.BB->end(); in ValidForkedDiamond()
938 *TrueBBI.BB, *FalseBBI.BB, in ValidForkedDiamond()
943 FalseBBICalc.BB = FalseBBI.BB; in ValidForkedDiamond()
945 FalseBBICalc.IsBrAnalyzable = FalseBBI.IsBrAnalyzable; in ValidForkedDiamond()
953 FalseBBICalc.NonPredSize = FalseBBI.NonPredSize; in ValidForkedDiamond()
960 BBInfo &TrueBBI, BBInfo &FalseBBI, in ValidDiamond() argument
965 FalseBBI.IsBeingAnalyzed || FalseBBI.IsDone) in ValidDiamond()
970 if (TrueBBI.BB == FalseBBI.BB) in ValidDiamond()
974 MachineBasicBlock *FT = FalseBBI.TrueBB; in ValidDiamond()
978 if (!FT && blockAlwaysFallThrough(FalseBBI)) in ValidDiamond()
979 FT = getNextBlock(*FalseBBI.BB); in ValidDiamond()
982 if (!TT && (TrueBBI.IsBrAnalyzable || FalseBBI.IsBrAnalyzable)) in ValidDiamond()
984 if (TrueBBI.BB->pred_size() > 1 || FalseBBI.BB->pred_size() > 1) in ValidDiamond()
988 if (TrueBBI.FalseBB || FalseBBI.FalseBB) in ValidDiamond()
996 TrueBBI.IsBrAnalyzable && FalseBBI.IsBrAnalyzable; in ValidDiamond()
998 MachineBasicBlock::iterator FIB = FalseBBI.BB->begin(); in ValidDiamond()
1000 MachineBasicBlock::iterator FIE = FalseBBI.BB->end(); in ValidDiamond()
1002 *TrueBBI.BB, *FalseBBI.BB, in ValidDiamond()
1007 FalseBBICalc.BB = FalseBBI.BB; in ValidDiamond()
1009 FalseBBICalc.IsBrAnalyzable = FalseBBI.IsBrAnalyzable; in ValidDiamond()
1016 FalseBBICalc.NonPredSize = FalseBBI.NonPredSize; in ValidDiamond()
1274 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()]; in AnalyzeBlock() local
1276 if (TrueBBI.IsDone && FalseBBI.IsDone) { in AnalyzeBlock()
1290 bool FNeedSub = !FalseBBI.Predicate.empty(); in AnalyzeBlock()
1303 bool FalseFeasible = FeasibilityAnalysis(FalseBBI, RevCond, in AnalyzeBlock()
1309 if (ValidDiamond(TrueBBI, FalseBBI, Dups, Dups2, in AnalyzeBlock()
1325 } else if (ValidForkedDiamond(TrueBBI, FalseBBI, Dups, Dups2, in AnalyzeBlock()
1346 if (ValidTriangle(TrueBBI, FalseBBI, false, Dups, Prediction) && in AnalyzeBlock()
1362 if (ValidTriangle(TrueBBI, FalseBBI, true, Dups, Prediction) && in AnalyzeBlock()
1389 if (ValidTriangle(FalseBBI, TrueBBI, false, Dups, in AnalyzeBlock()
1391 MeetIfcvtSizeLimit(*FalseBBI.BB, in AnalyzeBlock()
1392 FalseBBI.NonPredSize + FalseBBI.ExtraCost, in AnalyzeBlock()
1393 FalseBBI.ExtraCost2, Prediction.getCompl()) && in AnalyzeBlock()
1394 FeasibilityAnalysis(FalseBBI, RevCond, true)) { in AnalyzeBlock()
1400 if (ValidTriangle(FalseBBI, TrueBBI, true, Dups, in AnalyzeBlock()
1402 MeetIfcvtSizeLimit(*FalseBBI.BB, in AnalyzeBlock()
1403 FalseBBI.NonPredSize + FalseBBI.ExtraCost, in AnalyzeBlock()
1404 FalseBBI.ExtraCost2, Prediction.getCompl()) && in AnalyzeBlock()
1405 FeasibilityAnalysis(FalseBBI, RevCond, true, true)) { in AnalyzeBlock()
1411 if (ValidSimple(FalseBBI, Dups, Prediction.getCompl()) && in AnalyzeBlock()
1412 MeetIfcvtSizeLimit(*FalseBBI.BB, in AnalyzeBlock()
1413 FalseBBI.NonPredSize + FalseBBI.ExtraCost, in AnalyzeBlock()
1414 FalseBBI.ExtraCost2, Prediction.getCompl()) && in AnalyzeBlock()
1415 FeasibilityAnalysis(FalseBBI, RevCond)) { in AnalyzeBlock()
1534 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()]; in IfConvertSimple() local
1536 BBInfo *NextBBI = &FalseBBI; in IfConvertSimple()
1619 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()]; in IfConvertTriangle() local
1621 BBInfo *NextBBI = &FalseBBI; in IfConvertTriangle()
1772 BBInfo &BBI, BBInfo &TrueBBI, BBInfo &FalseBBI, in IfConvertDiamondCommon() argument
1777 if (TrueBBI.IsDone || FalseBBI.IsDone || in IfConvertDiamondCommon()
1778 TrueBBI.BB->pred_size() > 1 || FalseBBI.BB->pred_size() > 1) { in IfConvertDiamondCommon()
1782 FalseBBI.IsAnalyzed = false; in IfConvertDiamondCommon()
1786 if (TrueBBI.BB->hasAddressTaken() || FalseBBI.BB->hasAddressTaken()) in IfConvertDiamondCommon()
1794 BBInfo *BBI2 = &FalseBBI; in IfConvertDiamondCommon()
1806 if (TrueBBI.NonPredSize > FalseBBI.NonPredSize) in IfConvertDiamondCommon()
2012 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()]; in IfConvertForkedDiamond() local
2023 BBI, TrueBBI, FalseBBI, in IfConvertForkedDiamond()
2035 BBI.IsDone = TrueBBI.IsDone = FalseBBI.IsDone = true; in IfConvertForkedDiamond()
2047 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()]; in IfConvertDiamond() local
2053 TailBB = FalseBBI.TrueBB; in IfConvertDiamond()
2058 BBI, TrueBBI, FalseBBI, in IfConvertDiamond()
2073 BBI.BB->removeSuccessor(FalseBBI.BB, true); in IfConvertDiamond()
2091 if (*PI != TrueBBI.BB && *PI != FalseBBI.BB) in IfConvertDiamond()
2105 BBI.IsDone = TrueBBI.IsDone = FalseBBI.IsDone = true; in IfConvertDiamond()