@@ -15,7 +15,7 @@ void *f2(void *a, int b) { return a + b; }
1515// LLVM: %[[PTR:.*]] = load ptr, ptr {{.*}}, align 8
1616// LLVM: %[[TOEXT:.*]] = load i32, ptr {{.*}}, align 4
1717// LLVM: %[[STRIDE:.*]] = sext i32 %[[TOEXT]] to i64
18- // LLVM: getelementptr i8, ptr %[[PTR]], i64 %[[STRIDE]]
18+ // LLVM: getelementptr inbounds i8, ptr %[[PTR]], i64 %[[STRIDE]]
1919
2020// These test the same paths above, just make sure it does not crash.
2121void * f2_0 (void * a , int b ) { return & a [b ]; }
@@ -28,7 +28,7 @@ void *f3_1(int a, void *b) { return (a += b); }
2828// CIR: cir.cast(ptr_to_int, %[[NEW_PTR]] : !cir.ptr<!void>), !s32i
2929
3030// LLVM-LABEL: @f3_1
31- // LLVM: %[[NEW_PTR:.*]] = getelementptr
31+ // LLVM: %[[NEW_PTR:.*]] = getelementptr inbounds
3232// LLVM: ptrtoint ptr %[[NEW_PTR]] to i32
3333
3434void * f4 (void * a , int b ) { return a - b ; }
@@ -43,7 +43,7 @@ void *f4(void *a, int b) { return a - b; }
4343// LLVM: %[[TOEXT:.*]] = load i32, ptr {{.*}}, align 4
4444// LLVM: %[[STRIDE:.*]] = sext i32 %[[TOEXT]] to i64
4545// LLVM: %[[SUB:.*]] = sub i64 0, %[[STRIDE]]
46- // LLVM: getelementptr i8, ptr %[[PTR]], i64 %[[SUB]]
46+ // LLVM: getelementptr inbounds i8, ptr %[[PTR]], i64 %[[SUB]]
4747
4848// Similar to f4, just make sure it does not crash.
4949void * f4_1 (void * a , int b ) { return (a -= b ); }
@@ -58,7 +58,7 @@ FP f5(FP a, int b) { return a + b; }
5858// LLVM: %[[PTR:.*]] = load ptr, ptr {{.*}}, align 8
5959// LLVM: %[[TOEXT:.*]] = load i32, ptr {{.*}}, align 4
6060// LLVM: %[[STRIDE:.*]] = sext i32 %[[TOEXT]] to i64
61- // LLVM: getelementptr i8, ptr %[[PTR]], i64 %[[STRIDE]]
61+ // LLVM: getelementptr inbounds i8, ptr %[[PTR]], i64 %[[STRIDE]]
6262
6363// These test the same paths above, just make sure it does not crash.
6464FP f5_1 (FP a , int b ) { return (a += b ); }
@@ -77,7 +77,7 @@ FP f7(FP a, int b) { return a - b; }
7777// LLVM: %[[TOEXT:.*]] = load i32, ptr {{.*}}, align 4
7878// LLVM: %[[STRIDE:.*]] = sext i32 %[[TOEXT]] to i64
7979// LLVM: %[[SUB:.*]] = sub i64 0, %[[STRIDE]]
80- // LLVM: getelementptr i8, ptr %[[PTR]], i64 %[[SUB]]
80+ // LLVM: getelementptr inbounds i8, ptr %[[PTR]], i64 %[[SUB]]
8181
8282// Similar to f7, just make sure it does not crash.
8383FP f7_1 (FP a , int b ) { return (a -= b ); }
@@ -93,7 +93,7 @@ void f8(void *a, int b) { return *(a + b); }
9393// LLVM: %[[PTR:.*]] = load ptr, ptr {{.*}}, align 8
9494// LLVM: %[[TOEXT:.*]] = load i32, ptr {{.*}}, align 4
9595// LLVM: %[[STRIDE:.*]] = sext i32 %[[TOEXT]] to i64
96- // LLVM: getelementptr i8, ptr %[[PTR]], i64 %[[STRIDE]]
96+ // LLVM: getelementptr inbounds i8, ptr %[[PTR]], i64 %[[STRIDE]]
9797// LLVM: ret void
9898
9999void f8_1 (void * a , int b ) { return a [b ]; }
@@ -107,7 +107,7 @@ void f8_1(void *a, int b) { return a[b]; }
107107// LLVM: %[[PTR:.*]] = load ptr, ptr {{.*}}, align 8
108108// LLVM: %[[TOEXT:.*]] = load i32, ptr {{.*}}, align 4
109109// LLVM: %[[STRIDE:.*]] = sext i32 %[[TOEXT]] to i64
110- // LLVM: getelementptr i8, ptr %[[PTR]], i64 %[[STRIDE]]
110+ // LLVM: getelementptr inbounds i8, ptr %[[PTR]], i64 %[[STRIDE]]
111111// LLVM: ret void
112112
113113unsigned char * p (unsigned int x ) {
@@ -121,4 +121,4 @@ unsigned char *p(unsigned int x) {
121121// CIR: cir.ptr_stride({{.*}} : !cir.ptr<!u8i>, %[[SUB]] : !u32i), !cir.ptr<!u8i>
122122
123123// LLVM-LABEL: @p
124- // LLVM: getelementptr i8, ptr {{.*}}
124+ // LLVM: getelementptr inbounds i8, ptr {{.*}}
0 commit comments