[llvm] [LICM] Remove unnecessary check during store hoisting (PR #187529)
Antonio Frighetto via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 13 04:40:54 PDT 2026
================
@@ -277,6 +277,35 @@ exit:
ret i32 %val
}
+define i32 @unrelated_read(ptr noalias %loc, ptr noalias %otherloc) {
+; CHECK-LABEL: define i32 @unrelated_read(
+; CHECK-SAME: ptr noalias [[LOC:%.*]], ptr noalias [[OTHERLOC:%.*]]) {
+; CHECK-NEXT: [[ENTRY:.*]]:
+; CHECK-NEXT: call void @store(i32 0, ptr [[LOC]])
+; CHECK-NEXT: br label %[[LOOP:.*]]
+; CHECK: [[LOOP]]:
+; CHECK-NEXT: [[IV:%.*]] = phi i32 [ 0, %[[ENTRY]] ], [ [[IV_NEXT:%.*]], %[[LOOP]] ]
+; CHECK-NEXT: [[VAL:%.*]] = call i32 @load(i32 [[IV]], ptr [[OTHERLOC]])
----------------
antoniofrighetto wrote:
The call-site has a signature mismatch with the function declaration?
https://github.com/llvm/llvm-project/pull/187529
More information about the llvm-commits
mailing list