From 34c3e36e6317b0ed448ccd2c567d5b088275fd7d Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 3 May 2010 18:00:24 +0000 Subject: [PATCH] Use isTrueWhenEqual and isFalseWhenEqual instead of assuming that SimplifyICmpOperands will simplify such cases to EQ or NE. This makes the correcntess of the code independent on SimplifyICmpOperands doing certain simplifications. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102927 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/ScalarEvolution.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index f0cb7986bd8..30303cbbd1b 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -5260,10 +5260,10 @@ bool ScalarEvolution::isImpliedCond(Value *CondValue, // canonicalized the comparison. if (SimplifyICmpOperands(Pred, LHS, RHS)) if (LHS == RHS) - return Pred == ICmpInst::ICMP_EQ; + return CmpInst::isTrueWhenEqual(Pred); if (SimplifyICmpOperands(FoundPred, FoundLHS, FoundRHS)) if (FoundLHS == FoundRHS) - return Pred == ICmpInst::ICMP_NE; + return CmpInst::isFalseWhenEqual(Pred); // Check to see if we can make the LHS or RHS match. if (LHS == FoundRHS || RHS == FoundLHS) { -- 2.34.1