diff options
author | Sanjay Patel <spatel@rotateright.com> | 2021-12-27 13:38:11 -0500 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2021-12-27 13:41:50 -0500 |
commit | 773ab3c6655f4d2beec25bb3516b4d4fe2eea990 (patch) | |
tree | e9c0e3d1562c8c7920d66eb63909c9309ea0d1dc /llvm/lib/Analysis/ValueTracking.cpp | |
parent | c49dcb4830df1ef113bfa1c42132f47b0979789c (diff) | |
download | llvm-773ab3c6655f4d2beec25bb3516b4d4fe2eea990.zip llvm-773ab3c6655f4d2beec25bb3516b4d4fe2eea990.tar.gz llvm-773ab3c6655f4d2beec25bb3516b4d4fe2eea990.tar.bz2 |
[Analysis] remove unneeded casts; NFC
The callee does the casting too; this matches a plain call later in the same function for 'shl'.
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
-rw-r--r-- | llvm/lib/Analysis/ValueTracking.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp index fc378f9..7a1caed 100644 --- a/llvm/lib/Analysis/ValueTracking.cpp +++ b/llvm/lib/Analysis/ValueTracking.cpp @@ -6762,11 +6762,13 @@ static void setLimitsForBinOp(const BinaryOperator &BO, APInt &Lower, switch (BO.getOpcode()) { case Instruction::Add: if (match(BO.getOperand(1), m_APInt(C)) && !C->isZero()) { + bool HasNSW = IIQ.hasNoSignedWrap(&BO); + bool HasNUW = IIQ.hasNoUnsignedWrap(&BO); // FIXME: If we have both nuw and nsw, we should reduce the range further. - if (IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(&BO))) { + if (HasNUW) { // 'add nuw x, C' produces [C, UINT_MAX]. Lower = *C; - } else if (IIQ.hasNoSignedWrap(cast<OverflowingBinaryOperator>(&BO))) { + } else if (HasNSW) { if (C->isNegative()) { // 'add nsw x, -C' produces [SINT_MIN, SINT_MAX - C]. Lower = APInt::getSignedMinValue(Width); |