Lines Matching refs:ICmpInst
1021 if (isLoopBackedgeGuardedByCond(L, ICmpInst::ICMP_ULT, AR, N) ||
1022 (isLoopEntryGuardedByCond(L, ICmpInst::ICMP_ULT, Start, N) &&
1023 isLoopBackedgeGuardedByCond(L, ICmpInst::ICMP_ULT,
1035 if (isLoopBackedgeGuardedByCond(L, ICmpInst::ICMP_UGT, AR, N) ||
1036 (isLoopEntryGuardedByCond(L, ICmpInst::ICMP_UGT, Start, N) &&
1037 isLoopBackedgeGuardedByCond(L, ICmpInst::ICMP_UGT,
1064 ICmpInst::Predicate *Pred,
1068 *Pred = ICmpInst::ICMP_SLT;
1073 *Pred = ICmpInst::ICMP_SGT;
1137 ICmpInst::Predicate Pred;
1283 ICmpInst::Predicate Pred;
2449 isKnownPredicate(ICmpInst::ICMP_SGE, Ops[i], Ops[i+1])) {
2452 } else if (isKnownPredicate(ICmpInst::ICMP_SLE, Ops[i], Ops[i+1])) {
2553 isKnownPredicate(ICmpInst::ICMP_UGE, Ops[i], Ops[i+1])) {
2556 } else if (isKnownPredicate(ICmpInst::ICMP_ULE, Ops[i], Ops[i+1])) {
3873 if (ICmpInst *ICI = dyn_cast<ICmpInst>(U->getOperand(0))) {
3877 case ICmpInst::ICMP_SLT:
3878 case ICmpInst::ICMP_SLE:
3881 case ICmpInst::ICMP_SGT:
3882 case ICmpInst::ICMP_SGE:
3900 case ICmpInst::ICMP_ULT:
3901 case ICmpInst::ICMP_ULE:
3904 case ICmpInst::ICMP_UGT:
3905 case ICmpInst::ICMP_UGE:
3923 case ICmpInst::ICMP_NE:
3938 case ICmpInst::ICMP_EQ:
4529 if (ICmpInst *ExitCondICmp = dyn_cast<ICmpInst>(ExitCond))
4551 /// were a conditional branch of the ICmpInst ExitCond, TBB, and FBB.
4554 ICmpInst *ExitCond,
4560 ICmpInst::Predicate Cond;
4587 Cond = ICmpInst::getSwappedPredicate(Cond);
4600 ICmpInst::makeConstantRange(Cond, RHSC->getValue()->getValue()));
4607 case ICmpInst::ICMP_NE: { // while (X != Y)
4613 case ICmpInst::ICMP_EQ: { // while (X == Y)
4619 case ICmpInst::ICMP_SLT: {
4624 case ICmpInst::ICMP_SGT: {
4630 case ICmpInst::ICMP_ULT: {
4635 case ICmpInst::ICMP_UGT: {
4673 ICmpInst::Predicate predicate) {
5696 bool ScalarEvolution::SimplifyICmpOperands(ICmpInst::Predicate &Pred,
5718 Pred = ICmpInst::getSwappedPredicate(Pred);
5729 Pred = ICmpInst::getSwappedPredicate(Pred);
5739 default: llvm_unreachable("Unexpected ICmpInst::Predicate value!");
5740 case ICmpInst::ICMP_EQ:
5741 case ICmpInst::ICMP_NE:
5753 case ICmpInst::ICMP_UGE:
5755 Pred = ICmpInst::ICMP_NE;
5761 Pred = ICmpInst::ICMP_EQ;
5767 Pred = ICmpInst::ICMP_UGT;
5771 case ICmpInst::ICMP_ULE:
5773 Pred = ICmpInst::ICMP_NE;
5779 Pred = ICmpInst::ICMP_EQ;
5785 Pred = ICmpInst::ICMP_ULT;
5789 case ICmpInst::ICMP_SGE:
5791 Pred = ICmpInst::ICMP_NE;
5797 Pred = ICmpInst::ICMP_EQ;
5803 Pred = ICmpInst::ICMP_SGT;
5807 case ICmpInst::ICMP_SLE:
5809 Pred = ICmpInst::ICMP_NE;
5815 Pred = ICmpInst::ICMP_EQ;
5821 Pred = ICmpInst::ICMP_SLT;
5825 case ICmpInst::ICMP_UGT:
5827 Pred = ICmpInst::ICMP_NE;
5832 Pred = ICmpInst::ICMP_EQ;
5839 case ICmpInst::ICMP_ULT:
5841 Pred = ICmpInst::ICMP_NE;
5846 Pred = ICmpInst::ICMP_EQ;
5853 case ICmpInst::ICMP_SGT:
5855 Pred = ICmpInst::ICMP_NE;
5860 Pred = ICmpInst::ICMP_EQ;
5867 case ICmpInst::ICMP_SLT:
5869 Pred = ICmpInst::ICMP_NE;
5874 Pred = ICmpInst::ICMP_EQ;
5886 if (ICmpInst::isTrueWhenEqual(Pred))
5888 if (ICmpInst::isFalseWhenEqual(Pred))
5895 case ICmpInst::ICMP_SLE:
5899 Pred = ICmpInst::ICMP_SLT;
5904 Pred = ICmpInst::ICMP_SLT;
5908 case ICmpInst::ICMP_SGE:
5912 Pred = ICmpInst::ICMP_SGT;
5917 Pred = ICmpInst::ICMP_SGT;
5921 case ICmpInst::ICMP_ULE:
5925 Pred = ICmpInst::ICMP_ULT;
5930 Pred = ICmpInst::ICMP_ULT;
5934 case ICmpInst::ICMP_UGE:
5938 Pred = ICmpInst::ICMP_UGT;
5943 Pred = ICmpInst::ICMP_UGT;
5963 Pred = ICmpInst::ICMP_EQ;
5969 Pred = ICmpInst::ICMP_NE;
5993 bool ScalarEvolution::isKnownPredicate(ICmpInst::Predicate Pred,
6018 ScalarEvolution::isKnownPredicateWithRanges(ICmpInst::Predicate Pred,
6021 return ICmpInst::isTrueWhenEqual(Pred);
6027 llvm_unreachable("Unexpected ICmpInst::Predicate value!");
6028 case ICmpInst::ICMP_SGT:
6029 Pred = ICmpInst::ICMP_SLT;
6031 case ICmpInst::ICMP_SLT: {
6040 case ICmpInst::ICMP_SGE:
6041 Pred = ICmpInst::ICMP_SLE;
6043 case ICmpInst::ICMP_SLE: {
6052 case ICmpInst::ICMP_UGT:
6053 Pred = ICmpInst::ICMP_ULT;
6055 case ICmpInst::ICMP_ULT: {
6064 case ICmpInst::ICMP_UGE:
6065 Pred = ICmpInst::ICMP_ULE;
6067 case ICmpInst::ICMP_ULE: {
6076 case ICmpInst::ICMP_NE: {
6087 case ICmpInst::ICMP_EQ:
6100 ICmpInst::Predicate Pred,
6126 ICmpInst::Predicate Pred,
6175 bool ScalarEvolution::isImpliedCond(ICmpInst::Predicate Pred,
6196 ICmpInst *ICI = dyn_cast<ICmpInst>(FoundCondValue);
6210 ICmpInst::Predicate FoundPred;
6245 FoundPred = ICmpInst::getSwappedPredicate(FoundPred);
6248 Pred = ICmpInst::getSwappedPredicate(Pred);
6258 if (ICmpInst::getSwappedPredicate(FoundPred) == Pred) {
6262 return isImpliedCondOperands(ICmpInst::getSwappedPredicate(Pred),
6267 if (FoundPred == ICmpInst::ICMP_EQ)
6268 if (ICmpInst::isTrueWhenEqual(Pred))
6271 if (Pred == ICmpInst::ICMP_NE)
6272 if (!ICmpInst::isTrueWhenEqual(FoundPred))
6283 bool ScalarEvolution::isImpliedCondOperands(ICmpInst::Predicate Pred,
6299 ScalarEvolution::isImpliedCondOperandsHelper(ICmpInst::Predicate Pred,
6304 default: llvm_unreachable("Unexpected ICmpInst::Predicate value!");
6305 case ICmpInst::ICMP_EQ:
6306 case ICmpInst::ICMP_NE:
6310 case ICmpInst::ICMP_SLT:
6311 case ICmpInst::ICMP_SLE:
6312 if (isKnownPredicateWithRanges(ICmpInst::ICMP_SLE, LHS, FoundLHS) &&
6313 isKnownPredicateWithRanges(ICmpInst::ICMP_SGE, RHS, FoundRHS))
6316 case ICmpInst::ICMP_SGT:
6317 case ICmpInst::ICMP_SGE:
6318 if (isKnownPredicateWithRanges(ICmpInst::ICMP_SGE, LHS, FoundLHS) &&
6319 isKnownPredicateWithRanges(ICmpInst::ICMP_SLE, RHS, FoundRHS))
6322 case ICmpInst::ICMP_ULT:
6323 case ICmpInst::ICMP_ULE:
6324 if (isKnownPredicateWithRanges(ICmpInst::ICMP_ULE, LHS, FoundLHS) &&
6325 isKnownPredicateWithRanges(ICmpInst::ICMP_UGE, RHS, FoundRHS))
6328 case ICmpInst::ICMP_UGT:
6329 case ICmpInst::ICMP_UGE:
6330 if (isKnownPredicateWithRanges(ICmpInst::ICMP_UGE, LHS, FoundLHS) &&
6331 isKnownPredicateWithRanges(ICmpInst::ICMP_ULE, RHS, FoundRHS))
6456 isSigned ? ICmpInst::ICMP_SLT :
6457 ICmpInst::ICMP_ULT,
6593 dyn_cast<ConstantInt>(ConstantExpr::getICmp(ICmpInst::ICMP_ULT,