@@ -50,8 +50,7 @@ define i1 @test_inner_gep_multiple_indices_ult_true_all_inbounds(ptr %dst) {
50
50
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 0, i64 0
51
51
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST]], i64 0, i64 2
52
52
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, ptr [[DST_0]], i64 1
53
- ; CHECK-NEXT: [[C:%.*]] = icmp ult ptr [[GEP_1]], [[UPPER]]
54
- ; CHECK-NEXT: ret i1 [[C]]
53
+ ; CHECK-NEXT: ret i1 true
55
54
;
56
55
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 0 , i64 0
57
56
%upper = getelementptr inbounds [2 x i32 ], ptr %dst , i64 0 , i64 2
@@ -65,8 +64,7 @@ define i1 @test_inner_gep_multiple_indices_uge_true_all_inbounds(ptr %dst) {
65
64
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 0, i64 0
66
65
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST]], i64 0, i64 2
67
66
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, ptr [[DST_0]], i64 1
68
- ; CHECK-NEXT: [[C:%.*]] = icmp uge ptr [[GEP_1]], [[DST_0]]
69
- ; CHECK-NEXT: ret i1 [[C]]
67
+ ; CHECK-NEXT: ret i1 true
70
68
;
71
69
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 0 , i64 0
72
70
%upper = getelementptr inbounds [2 x i32 ], ptr %dst , i64 0 , i64 2
@@ -81,8 +79,7 @@ define i1 @test_inner_gep_multiple_indices_ult_false_all_inbounds(ptr %dst) {
81
79
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 0, i64 0
82
80
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST]], i64 0, i64 2
83
81
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, ptr [[DST_0]], i64 2
84
- ; CHECK-NEXT: [[C:%.*]] = icmp ult ptr [[GEP_1]], [[UPPER]]
85
- ; CHECK-NEXT: ret i1 [[C]]
82
+ ; CHECK-NEXT: ret i1 false
86
83
;
87
84
entry:
88
85
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 0 , i64 0
@@ -98,8 +95,7 @@ define i1 @test_inner_gep_multiple_indices_uge_true_all_inbounds_2(ptr %dst) {
98
95
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 0, i64 0
99
96
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST]], i64 0, i64 2
100
97
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, ptr [[DST_0]], i64 2
101
- ; CHECK-NEXT: [[C:%.*]] = icmp uge ptr [[GEP_1]], [[DST_0]]
102
- ; CHECK-NEXT: ret i1 [[C]]
98
+ ; CHECK-NEXT: ret i1 true
103
99
;
104
100
entry:
105
101
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 0 , i64 0
@@ -213,8 +209,7 @@ define i1 @test_inner_gep_multi_index_outer_gep_last_index_no_overflow_all_inbou
213
209
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 0, i64 0
214
210
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds ptr, ptr [[DST]], i64 2
215
211
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST_0]], i64 1, i64 1
216
- ; CHECK-NEXT: [[C_1:%.*]] = icmp ult ptr [[GEP_1]], [[UPPER]]
217
- ; CHECK-NEXT: ret i1 [[C_1]]
212
+ ; CHECK-NEXT: ret i1 true
218
213
;
219
214
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 0 , i64 0
220
215
%upper = getelementptr inbounds ptr , ptr %dst , i64 2
@@ -228,8 +223,7 @@ define i1 @test_inner_gep_multi_index_no_overflow_all_inbounds_1(ptr %dst) {
228
223
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 0, i64 1
229
224
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds i32, ptr [[DST]], i64 2
230
225
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, ptr [[DST_0]], i64 1
231
- ; CHECK-NEXT: [[C_1:%.*]] = icmp ult ptr [[GEP_1]], [[UPPER]]
232
- ; CHECK-NEXT: ret i1 [[C_1]]
226
+ ; CHECK-NEXT: ret i1 false
233
227
;
234
228
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 0 , i64 1
235
229
%upper = getelementptr inbounds i32 , ptr %dst , i64 2
@@ -243,8 +237,7 @@ define i1 @test_inner_gep_multi_index_no_overflow_all_inbounds_2(ptr %dst) {
243
237
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 1, i64 0
244
238
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds i32, ptr [[DST]], i64 2
245
239
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, ptr [[DST_0]], i64 1
246
- ; CHECK-NEXT: [[C_1:%.*]] = icmp ult ptr [[GEP_1]], [[UPPER]]
247
- ; CHECK-NEXT: ret i1 [[C_1]]
240
+ ; CHECK-NEXT: ret i1 false
248
241
;
249
242
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 1 , i64 0
250
243
%upper = getelementptr inbounds i32 , ptr %dst , i64 2
@@ -258,8 +251,7 @@ define i1 @test_inner_gep_multi_index_no_overflow_all_inbounds_3(ptr %dst) {
258
251
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 1, i64 0
259
252
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds i32, ptr [[DST]], i64 3
260
253
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, ptr [[DST_0]], i64 1
261
- ; CHECK-NEXT: [[C_1:%.*]] = icmp ult ptr [[GEP_1]], [[UPPER]]
262
- ; CHECK-NEXT: ret i1 [[C_1]]
254
+ ; CHECK-NEXT: ret i1 false
263
255
;
264
256
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 1 , i64 0
265
257
%upper = getelementptr inbounds i32 , ptr %dst , i64 3
@@ -273,8 +265,7 @@ define i1 @test_inner_gep_multi_index_no_overflow_all_inbounds_4(ptr %dst) {
273
265
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 1, i64 0
274
266
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds i32, ptr [[DST]], i64 4
275
267
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, ptr [[DST_0]], i64 1
276
- ; CHECK-NEXT: [[C_1:%.*]] = icmp ult ptr [[GEP_1]], [[UPPER]]
277
- ; CHECK-NEXT: ret i1 [[C_1]]
268
+ ; CHECK-NEXT: ret i1 true
278
269
;
279
270
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 1 , i64 0
280
271
%upper = getelementptr inbounds i32 , ptr %dst , i64 4
@@ -289,8 +280,7 @@ define i1 @test_inner_gep_multi_index_no_overflow_all_inbounds_5(i64 %off, ptr %
289
280
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 2, i64 0
290
281
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds i32, ptr [[DST]], i64 5
291
282
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, ptr [[DST_0]], i64 1
292
- ; CHECK-NEXT: [[C_1:%.*]] = icmp ule ptr [[GEP_1]], [[UPPER]]
293
- ; CHECK-NEXT: ret i1 [[C_1]]
283
+ ; CHECK-NEXT: ret i1 true
294
284
;
295
285
%off.ult = icmp ule i64 %off , 2
296
286
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 2 , i64 0
@@ -306,8 +296,7 @@ define i1 @test_inner_gep_multi_index_no_overflow_all_inbounds_6(i64 %off, ptr %
306
296
; CHECK-NEXT: [[DST_0:%.*]] = getelementptr inbounds [2 x i32], ptr [[DST:%.*]], i64 2, i64 0
307
297
; CHECK-NEXT: [[UPPER:%.*]] = getelementptr inbounds i32, ptr [[DST]], i64 5
308
298
; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, ptr [[DST_0]], i64 1
309
- ; CHECK-NEXT: [[C_1:%.*]] = icmp ult ptr [[GEP_1]], [[UPPER]]
310
- ; CHECK-NEXT: ret i1 [[C_1]]
299
+ ; CHECK-NEXT: ret i1 false
311
300
;
312
301
%off.ult = icmp ule i64 %off , 2
313
302
%dst.0 = getelementptr inbounds [2 x i32 ], ptr %dst , i64 2 , i64 0
0 commit comments