[llvm] [LoopVectorize] Fix double-application of FindIV reduction expression in epilogue (PR #219362)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 30 06:16:34 PDT 2026


================

----------------
fhahn wrote:

```suggestion
entry:
  br label %loop
  
loop:
  %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ]
  %rdx = phi i32 [ -1, %entry ], [ %sel, %loop ]
  %gep = getelementptr inbounds i32, ptr %a, i32 %iv
  %l = load i32, ptr %gep, align 4
  %c = icmp eq i32 %l, 42
  %sel = select i1 %c, i32 %iv, i32 %rdx
  %iv.next = add nuw nsw i32 %iv, 1
  %ec = icmp eq i32 %iv.next, %n
  br i1 %ec, label %done, label %loop
  
exit:
  ret i32 %sel
```

same above (Please use newlines to separate blocks like canonical opt output)

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


More information about the llvm-commits mailing list