@@ -1141,8 +1141,6 @@ void State::addInfoFor(BasicBlock &BB) {
1141
1141
break ;
1142
1142
[[fallthrough]];
1143
1143
case Intrinsic::abs:
1144
- case Intrinsic::uadd_sat:
1145
- case Intrinsic::usub_sat:
1146
1144
WorkList.push_back (FactOrCheck::getInstFact (DT.getNode (&BB), &I));
1147
1145
break ;
1148
1146
}
@@ -1893,26 +1891,13 @@ static bool eliminateConstraints(Function &F, DominatorTree &DT, LoopInfo &LI,
1893
1891
AddFact (CmpInst::ICMP_SGE, CB.Inst , X);
1894
1892
continue ;
1895
1893
}
1894
+
1896
1895
if (auto *MinMax = dyn_cast<MinMaxIntrinsic>(CB.Inst )) {
1897
1896
Pred = ICmpInst::getNonStrictPredicate (MinMax->getPredicate ());
1898
1897
AddFact (Pred, MinMax, MinMax->getLHS ());
1899
1898
AddFact (Pred, MinMax, MinMax->getRHS ());
1900
1899
continue ;
1901
1900
}
1902
- if (auto *USatI = dyn_cast<SaturatingInst>(CB.Inst )) {
1903
- switch (USatI->getIntrinsicID ()) {
1904
- default :
1905
- llvm_unreachable (" Unexpected intrinsic." );
1906
- case Intrinsic::uadd_sat:
1907
- AddFact (ICmpInst::ICMP_UGE, USatI, USatI->getLHS ());
1908
- AddFact (ICmpInst::ICMP_UGE, USatI, USatI->getRHS ());
1909
- break ;
1910
- case Intrinsic::usub_sat:
1911
- AddFact (ICmpInst::ICMP_ULE, USatI, USatI->getLHS ());
1912
- break ;
1913
- }
1914
- continue ;
1915
- }
1916
1901
}
1917
1902
1918
1903
Value *A = nullptr , *B = nullptr ;
0 commit comments