[llvm] [VPlan] Move FOR splice cost into VPInstruction::FirstOrderRecurrenceSplice (PR #129645)

Robert Imschweiler via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 13 07:28:32 PDT 2025


ro-i wrote:

This commit (https://github.com/llvm/llvm-project/commit/26324bc1bf397453ce966f56a88245263f7beec5) breaks building the blender SPEC benchmark (https://www.spec.org/cpu2017/Docs/benchmarks/526.blender_r.html).
The crash information:
[crash.txt](https://github.com/user-attachments/files/19725749/crash.txt)

The reduced input file:
```llvm
define float @normal_poly_v3(ptr %n, ptr %verts, ptr %v_prev.016, i64 %wide.trip.count) {
entry:
  br label %for.body

for.body:                                         ; preds = %for.body, %entry
  %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
  %v_prev.0163 = phi ptr [ %verts, %entry ], [ %v_curr.017, %for.body ]
  %v_curr.017 = getelementptr nusw [3 x float], ptr %verts, i64 %indvars.iv
  %0 = load float, ptr %v_curr.017, align 4
  store float %0, ptr %n, align 4
  %1 = load float, ptr %v_prev.0163, align 4
  store float %1, ptr %v_prev.016, align 4
  %indvars.iv.next = add nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv, %wide.trip.count
  br i1 %exitcond.not, label %for.end.loopexit, label %for.body

for.end.loopexit:                                 ; preds = %for.body
  ret float 0.000000e+00
}
```

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


More information about the llvm-commits mailing list