mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-04 03:17:51 +00:00
[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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252676 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6178878323
commit
0e67289a03
@ -4111,31 +4111,21 @@ static bool isTruePredicate(CmpInst::Predicate Pred, Value *LHS, Value *RHS,
|
||||
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::Predicate Pred, Value *LHS, Value *RHS,
|
||||
|
||||
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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user