[llvm] [IndVars] Teach widenLoopCompare to use sext if narrow IV is positive and other operand is already sext. (PR #142703)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 9 09:11:25 PDT 2025
================
@@ -1630,6 +1630,12 @@ bool WidenIV::widenLoopCompare(WidenIV::NarrowIVDefUse DU) {
// Widen the other operand of the compare, if necessary.
if (CastWidth < IVWidth) {
+ // If the narrow IV is always postive and the other operand is sext, widen
+ // using sext so we can combine them. This works for all comparison
----------------
topperc wrote:
But it does work signed comparisons. Its just that signed comparisons were already going to use a sext unless samesign was set.
https://github.com/llvm/llvm-project/pull/142703
More information about the llvm-commits
mailing list