[llvm] r252676 - [ValueTracking] Remove untested / unreachable code, NFC
Sanjoy Das via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 10 16:16:41 PST 2015
Author: sanjoy
Date: Tue Nov 10 18:16:41 2015
New Revision: 252676
URL: http://llvm.org/viewvc/llvm-project?rev=252676&view=rev
Log:
[ValueTracking] Remove untested / unreachable code, NFC
Right now isTruePredicate is only ever called with Pred == ICMP_SLE or
ICMP_ULE, and the ICMP_SLT and ICMP_ULT cases are dead. This change
removes the untested dead code so that the function is not misleading.
Modified:
llvm/trunk/lib/Analysis/ValueTracking.cpp
Modified: llvm/trunk/lib/Analysis/ValueTracking.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ValueTracking.cpp?rev=252676&r1=252675&r2=252676&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/ValueTracking.cpp (original)
+++ llvm/trunk/lib/Analysis/ValueTracking.cpp Tue Nov 10 18:16:41 2015
@@ -4111,31 +4111,21 @@ static bool isTruePredicate(CmpInst::Pre
default:
return false;
- case CmpInst::ICMP_SLT:
case CmpInst::ICMP_SLE: {
const APInt *C;
- // LHS s< LHS +_{nsw} C if C > 0
// LHS s<= LHS +_{nsw} C if C >= 0
- if (match(RHS, m_NSWAdd(m_Specific(LHS), m_APInt(C)))) {
- if (Pred == CmpInst::ICMP_SLT)
- return C->isStrictlyPositive();
+ if (match(RHS, m_NSWAdd(m_Specific(LHS), m_APInt(C))))
return !C->isNegative();
- }
return false;
}
- case CmpInst::ICMP_ULT:
case CmpInst::ICMP_ULE: {
const APInt *C;
- // LHS u< LHS +_{nuw} C if C != 0
- // LHS u<= LHS +_{nuw} C
- if (match(RHS, m_NUWAdd(m_Specific(LHS), m_APInt(C)))) {
- if (Pred == CmpInst::ICMP_ULT)
- return C->isMinValue();
+ // LHS u<= LHS +_{nuw} C for any C
+ if (match(RHS, m_NUWAdd(m_Specific(LHS), m_APInt(C))))
return true;
- }
// Match A to (X +_{nuw} CA) and B to (X +_{nuw} CB)
auto MatchNUWAddsToSameValue = [&](Value *A, Value *B, Value *&X,
@@ -4160,11 +4150,8 @@ static bool isTruePredicate(CmpInst::Pre
Value *X;
const APInt *CLHS, *CRHS;
- if (MatchNUWAddsToSameValue(LHS, RHS, X, CLHS, CRHS)) {
- if (Pred == CmpInst::ICMP_ULE)
- return CLHS->ule(*CRHS);
- return CLHS->ult(*CRHS);
- }
+ if (MatchNUWAddsToSameValue(LHS, RHS, X, CLHS, CRHS))
+ return CLHS->ule(*CRHS);
return false;
}
More information about the llvm-commits
mailing list