[llvm] [ValueTracking] Range of cmp intrinsics are -1, 0, and 1 (PR #144365)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 16 07:54:23 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-analysis
Author: AZero13 (AZero13)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/144365.diff
1 Files Affected:
- (modified) llvm/lib/Analysis/ValueTracking.cpp (+4)
``````````diff
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index 9df667926faf0..2379aba69aad0 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -9785,6 +9785,10 @@ static ConstantRange getRangeForIntrinsic(const IntrinsicInst &II,
unsigned Width = II.getType()->getScalarSizeInBits();
const APInt *C;
switch (II.getIntrinsicID()) {
+ case Intrinsic::scmp:
+ case Intrinsic::ucmp:
+ return ConstantRange::getNonEmpty(APInt::getAllOnes(Width),
+ APInt::getOneBitSet(Width, 0));
case Intrinsic::ctlz:
case Intrinsic::cttz: {
APInt Upper(Width, Width);
``````````
</details>
https://github.com/llvm/llvm-project/pull/144365
More information about the llvm-commits
mailing list