[llvm] [LV] Regen some tests with UTC (PR #152128)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 5 06:31:07 PDT 2025


================
@@ -42,16 +64,48 @@ attributes #0 = { nounwind willreturn }
 %struct.data = type { ptr, ptr }
 
 define void @test2(ptr nocapture readonly %d) {
-; CHECK-LABEL: @test2(
-; CHECK:       entry:
-; CHECK:         [[MASKCOND:%.*]] = icmp eq i64 %maskedptr, 0
-; CHECK:         [[MASKCOND4:%.*]] = icmp eq i64 %maskedptr3, 0
-; CHECK:       vector.body:
-; CHECK:         tail call void @llvm.assume(i1 [[MASKCOND]])
+; CHECK-LABEL: define void @test2(
+; CHECK-SAME: ptr readonly captures(none) [[D:%.*]]) {
+; CHECK-NEXT:  [[ENTRY:.*:]]
+; CHECK-NEXT:    [[B:%.*]] = getelementptr inbounds [[STRUCT_DATA:%.*]], ptr [[D]], i64 0, i32 1
+; CHECK-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[B]], align 8
+; CHECK-NEXT:    [[PTRINT:%.*]] = ptrtoint ptr [[TMP0]] to i64
+; CHECK-NEXT:    [[MASKEDPTR:%.*]] = and i64 [[PTRINT]], 31
+; CHECK-NEXT:    [[MASKCOND:%.*]] = icmp eq i64 [[MASKEDPTR]], 0
+; CHECK-NEXT:    [[TMP1:%.*]] = load ptr, ptr [[D]], align 8
+; CHECK-NEXT:    [[PTRINT2:%.*]] = ptrtoint ptr [[TMP1]] to i64
+; CHECK-NEXT:    [[MASKEDPTR3:%.*]] = and i64 [[PTRINT2]], 31
+; CHECK-NEXT:    [[MASKCOND4:%.*]] = icmp eq i64 [[MASKEDPTR3]], 0
+; CHECK-NEXT:    br i1 false, label %[[SCALAR_PH:.*]], label %[[VECTOR_MEMCHECK:.*]]
+; CHECK:       [[VECTOR_MEMCHECK]]:
----------------
fhahn wrote:

Right, better to pass 2 pointers used in the loop as arguments with no alias, instead of loading them from the single pointer argument

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


More information about the llvm-commits mailing list