Lines Matching refs:LoopCond

259     bool unswitchIfProfitable(Value *LoopCond, Constant *Val,
608 static bool equalityPropUnSafe(Value &LoopCond) { in equalityPropUnSafe() argument
609 ICmpInst *CI = dyn_cast<ICmpInst>(&LoopCond); in equalityPropUnSafe()
715 Value *LoopCond = findLIVLoopCondition(Guard->getOperand(0), CurrentLoop, in processCurrentLoop() local
718 if (LoopCond && in processCurrentLoop()
719 unswitchIfProfitable(LoopCond, ConstantInt::getTrue(Context))) { in processCurrentLoop()
758 Value *LoopCond = findLIVLoopCondition(BI->getCondition(), CurrentLoop, in processCurrentLoop() local
761 if (LoopCond && !equalityPropUnSafe(*LoopCond) && in processCurrentLoop()
762 unswitchIfProfitable(LoopCond, ConstantInt::getTrue(Context), TI)) { in processCurrentLoop()
769 Value *LoopCond; in processCurrentLoop() local
771 std::tie(LoopCond, OpChain) = in processCurrentLoop()
775 if (LoopCond && NumCases) { in processCurrentLoop()
816 if (unswitchIfProfitable(LoopCond, UnswitchVal)) { in processCurrentLoop()
832 Value *LoopCond = findLIVLoopCondition(SI->getCondition(), CurrentLoop, in processCurrentLoop() local
835 if (LoopCond && in processCurrentLoop()
836 unswitchIfProfitable(LoopCond, ConstantInt::getTrue(Context))) { in processCurrentLoop()
858 Value *LoopCond = Info->InstToDuplicate[0]; in processCurrentLoop() local
867 getAnalysis<LegacyDivergenceAnalysis>().isDivergent(LoopCond)) { in processCurrentLoop()
871 << *Info->KnownValue << "' == " << *LoopCond << "\n" in processCurrentLoop()
885 emitPreheaderBranchOnCondition(LoopCond, Info->KnownValue, TrueDest, in processCurrentLoop()
894 if (unswitchIfProfitable(LoopCond, Info->KnownValue, in processCurrentLoop()
960 bool LoopUnswitch::unswitchIfProfitable(Value *LoopCond, Constant *Val, in unswitchIfProfitable() argument
968 << "' == " << *LoopCond << "\n" in unswitchIfProfitable()
973 getAnalysis<LegacyDivergenceAnalysis>().isDivergent(LoopCond)) { in unswitchIfProfitable()
977 << "' == " << *LoopCond << "\n" in unswitchIfProfitable()
982 unswitchNontrivialCondition(LoopCond, Val, CurrentLoop, TI, ToDuplicate); in unswitchIfProfitable()
1225 Value *LoopCond = findLIVLoopCondition(BI->getCondition(), CurrentLoop, in tryTrivialLoopUnswitch() local
1231 if (!LoopCond || LoopCond != BI->getCondition()) in tryTrivialLoopUnswitch()
1251 if (equalityPropUnSafe(*LoopCond)) in tryTrivialLoopUnswitch()
1254 unswitchTrivialCondition(CurrentLoop, LoopCond, CondVal, LoopExitBB, in tryTrivialLoopUnswitch()
1260 Value *LoopCond = findLIVLoopCondition(SI->getCondition(), CurrentLoop, in tryTrivialLoopUnswitch() local
1266 if (!LoopCond || LoopCond != SI->getCondition()) in tryTrivialLoopUnswitch()
1297 unswitchTrivialCondition(CurrentLoop, LoopCond, CondVal, LoopExitBB, in tryTrivialLoopUnswitch()