[llvm] [ValueTracking] Handle assume(!(trunc X)) in computeKnownBitsFromContext (PR #219854)
Rohan Jha via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 13 12:28:43 PDT 2026
================
@@ -1145,6 +1145,21 @@ void llvm::computeKnownBitsFromContext(const Value *V, KnownBits &Known,
Known.One.setBit(0);
return;
}
+ // assume(!(trunc V)) -> last bit of V is 0
+ Value *NotOp;
+ if (match(Arg, m_Not(m_Value(NotOp))) && Arg->hasOneUse() &&
+ NotOp->hasOneUse()) {
+ auto *NotTrunc = dyn_cast<TruncInst>(NotOp);
+ if (NotTrunc && NotTrunc->getOperand(0) == V &&
+ isValidAssumeForContext(I, Q)) {
----------------
rohan11235813 wrote:
Done, Thanks!
https://github.com/llvm/llvm-project/pull/219854
More information about the llvm-commits
mailing list