[llvm] [LV] Tidy up early bail outs related to runtime checks (PR #228077)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 2 05:56:22 PDT 2026
================
----------------
fhahn wrote:
If it cannot happen we can assert.
But for this case, I think it will change behavior for something like below
```
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx"
define void @f(ptr %a, i64 %off, i64 %n) {
entry:
br label %loop
loop:
%iv = phi i64 [ 0, %entry ], [ %iv.next, %loop ]
%iv.off = add i64 %iv, %off
%p.off = getelementptr i32, ptr %a, i64 %iv.off
%v0 = load i32, ptr %p.off
%p0 = getelementptr i32, ptr %a, i64 %iv
%v1 = load i16, ptr %p0
%v1.ext = sext i16 %v1 to i32
%s = add i32 %v0, %v1.ext
%iv.next = add i64 %iv, 1
%p1 = getelementptr i32, ptr %a, i64 %iv.next
store i32 %s, ptr %p1
%ec = icmp eq i64 %iv.next, %n
br i1 %ec, label %exit, label %loop
exit:
ret void
}
```
https://github.com/llvm/llvm-project/pull/228077
More information about the llvm-commits
mailing list