[llvm] [ConstraintElimination] Use SCEV ranges information for Loop counter (PR #91457)

via llvm-commits llvm-commits at lists.llvm.org
Thu May 9 01:50:29 PDT 2024


v01dXYZ wrote:

Below the test that fails:

``` llvm
define internal void @callee(i32 %n, ptr noalias nonnull %A, i32 %i) {
entry:
  br label %for

for:
  %j = phi i32 [0, %entry], [%j.inc, %inc]
  %j.cmp = icmp slt i32 %j, %n
  br i1 %j.cmp, label %body, label %exit

    body:
      %idx = add i32 %i, %j
      %arrayidx = getelementptr inbounds double, ptr %A, i32 %idx
      store double 42.0, ptr %arrayidx
      br label %inc

inc:
  %j.inc = add nuw nsw i32 %j, 1
  br label %for

exit:
  br label %return

return:
  ret void
}
```

I rebased as I don't understand what's going on. I'll take a closer look at it if it fails again. 

https://github.com/llvm/llvm-project/pull/91457


More information about the llvm-commits mailing list