[llvm] Reapply "[ValueTracking] Propagate sign information out of loop" (PR #182512)
Kshitij Paranjape via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 20 08:10:40 PST 2026
================
@@ -5924,6 +5924,43 @@ void computeKnownFPClass(const Value *V, const APInt &DemandedElts,
}
}
+ // Look for the case of a for loop which has a positive
+ // initial value and is incremented by a squared value.
+ // This will propagate sign information out of such loops.
+ if (P->getNumIncomingValues() != 2)
+ break;
+ for (unsigned i = 0; i < 2; i++) {
+ Value *RecurValue = P->getIncomingValue(1 - i);
+ IntrinsicInst *I = dyn_cast<IntrinsicInst>(RecurValue);
+ if (!I)
+ continue;
+ Value *R, *L;
+ Value *Init;
----------------
kshitijvp wrote:
Done
https://github.com/llvm/llvm-project/pull/182512
More information about the llvm-commits
mailing list