aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ValueTracking.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2024-06-26 17:30:19 -0700
committerGitHub <noreply@github.com>2024-06-26 17:30:19 -0700
commit326ba38a991250a8587a399a260b0f7af2c9166a (patch)
tree516e089a9f4c6371664149ad1dcbe394bf8b6946 /llvm/lib/Analysis/ValueTracking.cpp
parentca4e5a8d6e00d8a851c3bbd01442193f97a80139 (diff)
downloadllvm-326ba38a991250a8587a399a260b0f7af2c9166a.zip
llvm-326ba38a991250a8587a399a260b0f7af2c9166a.tar.gz
llvm-326ba38a991250a8587a399a260b0f7af2c9166a.tar.bz2
[ValueTracking][RISCV] Use ConstantRange::getUnsignedMax instead of getUpper to simplify some code. (#96816)
This avoids the need to subtract 1 and explain why.
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
-rw-r--r--llvm/lib/Analysis/ValueTracking.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index 777b279..1dfc6cf 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -1740,10 +1740,8 @@ static void computeKnownBitsFromOperator(const Operator *I,
cast<ConstantInt>(II->getArgOperand(HasAVL))->getZExtValue());
RISCVII::VLMUL VLMUL = static_cast<RISCVII::VLMUL>(
cast<ConstantInt>(II->getArgOperand(1 + HasAVL))->getZExtValue());
- // The Range is [Lower, Upper), so we need to subtract 1 here to get the
- // real upper value.
uint64_t MaxVLEN =
- (Range.getUpper().getZExtValue() - 1) * RISCV::RVVBitsPerBlock;
+ Range.getUnsignedMax().getZExtValue() * RISCV::RVVBitsPerBlock;
uint64_t MaxVL = MaxVLEN / RISCVVType::getSEWLMULRatio(SEW, VLMUL);
// Result of vsetvli must be not larger than AVL.