aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ValueTracking.cpp
diff options
context:
space:
mode:
authorNoah Goldstein <goldstein.w.n@gmail.com>2024-04-08 23:33:06 -0500
committerNoah Goldstein <goldstein.w.n@gmail.com>2024-04-08 23:33:06 -0500
commitb65ab0b726ce421cc6cd7fdfbf51bf4aba17ce87 (patch)
tree6e9db4162686362bfeec85676c07cdac99037701 /llvm/lib/Analysis/ValueTracking.cpp
parent5c056b32350e834924356b1af78504d261d24e42 (diff)
downloadllvm-b65ab0b726ce421cc6cd7fdfbf51bf4aba17ce87.zip
llvm-b65ab0b726ce421cc6cd7fdfbf51bf4aba17ce87.tar.gz
llvm-b65ab0b726ce421cc6cd7fdfbf51bf4aba17ce87.tar.bz2
[ValueTracking] Add comment clarifying missing `usub.sat` in `isKnownNonZero`; NFC
Closes #87700
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
-rw-r--r--llvm/lib/Analysis/ValueTracking.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index d50ccd8..6602db4 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -2816,6 +2816,8 @@ static bool isKnownNonZeroFromOperator(const Operator *I,
case Intrinsic::bswap:
case Intrinsic::ctpop:
return isKnownNonZero(II->getArgOperand(0), DemandedElts, Depth, Q);
+ // NB: We don't do usub_sat here as in any case we can prove its
+ // non-zero, we will fold it to `sub nuw` in InstCombine.
case Intrinsic::ssub_sat:
return isNonZeroSub(DemandedElts, Depth, Q, BitWidth,
II->getArgOperand(0), II->getArgOperand(1));