@@ -1098,7 +1098,7 @@ int test12_a, test12_b;
10981098// SANITIZE-WITH-ATTR-NEXT: tail call void @__ubsan_handle_out_of_bounds_abort(ptr nonnull @[[GLOB20:[0-9]+]], i64 0) #[[ATTR10]], !nosanitize [[META2]]
10991099// SANITIZE-WITH-ATTR-NEXT: unreachable, !nosanitize [[META2]]
11001100// SANITIZE-WITH-ATTR: handler.type_mismatch6:
1101- // SANITIZE-WITH-ATTR-NEXT: tail call void @__ubsan_handle_type_mismatch_v1_abort(ptr nonnull @[[GLOB21:[0-9]+]], i64 ptrtoint (ptr getelementptr inbounds ([[STRUCT_ANON_5:%.*]] , ptr @test12_foo, i64 1, i32 0, i32 0, i32 0 ) to i64)) #[[ATTR10]], !nosanitize [[META2]]
1101+ // SANITIZE-WITH-ATTR-NEXT: tail call void @__ubsan_handle_type_mismatch_v1_abort(ptr nonnull @[[GLOB21:[0-9]+]], i64 ptrtoint (ptr getelementptr inbounds (i8 , ptr @test12_foo, i64 4 ) to i64)) #[[ATTR10]], !nosanitize [[META2]]
11021102// SANITIZE-WITH-ATTR-NEXT: unreachable, !nosanitize [[META2]]
11031103//
11041104// NO-SANITIZE-WITH-ATTR-LABEL: define dso_local noundef i32 @test12(
@@ -1111,7 +1111,7 @@ int test12_a, test12_b;
11111111// NO-SANITIZE-WITH-ATTR-NEXT: [[ARRAYIDX:%.*]] = getelementptr inbounds [6 x i32], ptr [[BAZ]], i64 0, i64 [[IDXPROM]]
11121112// NO-SANITIZE-WITH-ATTR-NEXT: [[TMP0:%.*]] = load i32, ptr [[ARRAYIDX]], align 4, !tbaa [[TBAA2]]
11131113// NO-SANITIZE-WITH-ATTR-NEXT: store i32 [[TMP0]], ptr @test12_b, align 4, !tbaa [[TBAA2]]
1114- // NO-SANITIZE-WITH-ATTR-NEXT: [[TMP1:%.*]] = load i32, ptr getelementptr inbounds ([[STRUCT_ANON_5:%.*]] , ptr @test12_foo, i64 1, i32 0, i32 0, i32 0 ), align 4, !tbaa [[TBAA2]]
1114+ // NO-SANITIZE-WITH-ATTR-NEXT: [[TMP1:%.*]] = load i32, ptr getelementptr inbounds (i8 , ptr @test12_foo, i64 4 ), align 4, !tbaa [[TBAA2]]
11151115// NO-SANITIZE-WITH-ATTR-NEXT: store i32 [[TMP1]], ptr @test12_a, align 4, !tbaa [[TBAA2]]
11161116// NO-SANITIZE-WITH-ATTR-NEXT: br label [[FOR_COND:%.*]]
11171117// NO-SANITIZE-WITH-ATTR: for.cond:
@@ -1140,7 +1140,7 @@ int test12_a, test12_b;
11401140// SANITIZE-WITHOUT-ATTR-NEXT: tail call void @__ubsan_handle_out_of_bounds_abort(ptr nonnull @[[GLOB4:[0-9]+]], i64 0) #[[ATTR8]], !nosanitize [[META9]]
11411141// SANITIZE-WITHOUT-ATTR-NEXT: unreachable, !nosanitize [[META9]]
11421142// SANITIZE-WITHOUT-ATTR: handler.type_mismatch6:
1143- // SANITIZE-WITHOUT-ATTR-NEXT: tail call void @__ubsan_handle_type_mismatch_v1_abort(ptr nonnull @[[GLOB5:[0-9]+]], i64 ptrtoint (ptr getelementptr inbounds ([[STRUCT_ANON_5:%.*]] , ptr @test12_foo, i64 1, i32 0, i32 0, i32 0 ) to i64)) #[[ATTR8]], !nosanitize [[META9]]
1143+ // SANITIZE-WITHOUT-ATTR-NEXT: tail call void @__ubsan_handle_type_mismatch_v1_abort(ptr nonnull @[[GLOB5:[0-9]+]], i64 ptrtoint (ptr getelementptr inbounds (i8 , ptr @test12_foo, i64 4 ) to i64)) #[[ATTR8]], !nosanitize [[META9]]
11441144// SANITIZE-WITHOUT-ATTR-NEXT: unreachable, !nosanitize [[META9]]
11451145//
11461146// NO-SANITIZE-WITHOUT-ATTR-LABEL: define dso_local noundef i32 @test12(
@@ -1153,7 +1153,7 @@ int test12_a, test12_b;
11531153// NO-SANITIZE-WITHOUT-ATTR-NEXT: [[ARRAYIDX:%.*]] = getelementptr inbounds [6 x i32], ptr [[BAZ]], i64 0, i64 [[IDXPROM]]
11541154// NO-SANITIZE-WITHOUT-ATTR-NEXT: [[TMP0:%.*]] = load i32, ptr [[ARRAYIDX]], align 4, !tbaa [[TBAA2]]
11551155// NO-SANITIZE-WITHOUT-ATTR-NEXT: store i32 [[TMP0]], ptr @test12_b, align 4, !tbaa [[TBAA2]]
1156- // NO-SANITIZE-WITHOUT-ATTR-NEXT: [[TMP1:%.*]] = load i32, ptr getelementptr inbounds ([[STRUCT_ANON_5:%.*]] , ptr @test12_foo, i64 1, i32 0, i32 0, i32 0 ), align 4, !tbaa [[TBAA2]]
1156+ // NO-SANITIZE-WITHOUT-ATTR-NEXT: [[TMP1:%.*]] = load i32, ptr getelementptr inbounds (i8 , ptr @test12_foo, i64 4 ), align 4, !tbaa [[TBAA2]]
11571157// NO-SANITIZE-WITHOUT-ATTR-NEXT: store i32 [[TMP1]], ptr @test12_a, align 4, !tbaa [[TBAA2]]
11581158// NO-SANITIZE-WITHOUT-ATTR-NEXT: br label [[FOR_COND:%.*]]
11591159// NO-SANITIZE-WITHOUT-ATTR: for.cond:
@@ -1315,7 +1315,7 @@ int test14(int idx) {
13151315// NO-SANITIZE-WITH-ATTR-SAME: i32 noundef [[IDX:%.*]]) local_unnamed_addr #[[ATTR4]] {
13161316// NO-SANITIZE-WITH-ATTR-NEXT: entry:
13171317// NO-SANITIZE-WITH-ATTR-NEXT: [[IDXPROM:%.*]] = sext i32 [[IDX]] to i64
1318- // NO-SANITIZE-WITH-ATTR-NEXT: [[ARRAYIDX:%.*]] = getelementptr inbounds [0 x i32], ptr getelementptr inbounds ([[STRUCT_ANON_8:%.*]] , ptr @__const.test15.foo, i64 1, i32 0 ), i64 0, i64 [[IDXPROM]]
1318+ // NO-SANITIZE-WITH-ATTR-NEXT: [[ARRAYIDX:%.*]] = getelementptr inbounds [0 x i32], ptr getelementptr inbounds (i8 , ptr @__const.test15.foo, i64 8 ), i64 0, i64 [[IDXPROM]]
13191319// NO-SANITIZE-WITH-ATTR-NEXT: [[TMP0:%.*]] = load i32, ptr [[ARRAYIDX]], align 4, !tbaa [[TBAA2]]
13201320// NO-SANITIZE-WITH-ATTR-NEXT: ret i32 [[TMP0]]
13211321//
@@ -1336,7 +1336,7 @@ int test14(int idx) {
13361336// NO-SANITIZE-WITHOUT-ATTR-SAME: i32 noundef [[IDX:%.*]]) local_unnamed_addr #[[ATTR1]] {
13371337// NO-SANITIZE-WITHOUT-ATTR-NEXT: entry:
13381338// NO-SANITIZE-WITHOUT-ATTR-NEXT: [[IDXPROM:%.*]] = sext i32 [[IDX]] to i64
1339- // NO-SANITIZE-WITHOUT-ATTR-NEXT: [[ARRAYIDX:%.*]] = getelementptr inbounds [0 x i32], ptr getelementptr inbounds ([[STRUCT_ANON_8:%.*]] , ptr @__const.test15.foo, i64 1, i32 0 ), i64 0, i64 [[IDXPROM]]
1339+ // NO-SANITIZE-WITHOUT-ATTR-NEXT: [[ARRAYIDX:%.*]] = getelementptr inbounds [0 x i32], ptr getelementptr inbounds (i8 , ptr @__const.test15.foo, i64 8 ), i64 0, i64 [[IDXPROM]]
13401340// NO-SANITIZE-WITHOUT-ATTR-NEXT: [[TMP0:%.*]] = load i32, ptr [[ARRAYIDX]], align 4, !tbaa [[TBAA2]]
13411341// NO-SANITIZE-WITHOUT-ATTR-NEXT: ret i32 [[TMP0]]
13421342//
0 commit comments