for (unsigned i = 0, e = Ops.size()-1; i != e; ++i)
// X smax Y smax Y --> X smax Y
// X smax Y --> X, if X is always greater than Y
- if (Ops[i] == Ops[i+1] ||
- isKnownPredicate(ICmpInst::ICMP_SGE, Ops[i], Ops[i+1])) {
+ if (Ops[i] == Ops[i + 1] || isKnownViaNonRecursiveReasoning(
+ ICmpInst::ICMP_SGE, Ops[i], Ops[i + 1])) {
Ops.erase(Ops.begin()+i+1, Ops.begin()+i+2);
--i; --e;
- } else if (isKnownPredicate(ICmpInst::ICMP_SLE, Ops[i], Ops[i+1])) {
+ } else if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_SLE, Ops[i],
+ Ops[i + 1])) {
Ops.erase(Ops.begin()+i, Ops.begin()+i+1);
--i; --e;
}