@@ -173,8 +173,7 @@ define i1 @test_two_ranges2(ptr nocapture readonly %arg1, ptr nocapture readonly
173173; Values' ranges do not overlap each other, so it can simplified to false.
174174define i1 @test_two_argument_ranges (i32 range(i32 1 , 6 ) %arg1 , i32 range(i32 8 , 16 ) %arg2 ) {
175175; CHECK-LABEL: @test_two_argument_ranges(
176- ; CHECK-NEXT: [[RVAL:%.*]] = icmp ult i32 [[ARG2:%.*]], [[ARG1:%.*]]
177- ; CHECK-NEXT: ret i1 [[RVAL]]
176+ ; CHECK-NEXT: ret i1 false
178177;
179178 %rval = icmp ult i32 %arg2 , %arg1
180179 ret i1 %rval
@@ -183,9 +182,7 @@ define i1 @test_two_argument_ranges(i32 range(i32 1, 6) %arg1, i32 range(i32 8,
183182; Values' ranges do not overlap each other, so it can simplified to false.
184183define i1 @test_one_range_and_one_argument_range (ptr nocapture readonly %arg1 , i32 range(i32 8 , 16 ) %arg2 ) {
185184; CHECK-LABEL: @test_one_range_and_one_argument_range(
186- ; CHECK-NEXT: [[VAL1:%.*]] = load i32, ptr [[ARG1:%.*]], align 4, !range [[RNG2]]
187- ; CHECK-NEXT: [[RVAL:%.*]] = icmp ugt i32 [[VAL1]], [[ARG2:%.*]]
188- ; CHECK-NEXT: ret i1 [[RVAL]]
185+ ; CHECK-NEXT: ret i1 false
189186;
190187 %val1 = load i32 , ptr %arg1 , !range !0
191188 %rval = icmp ult i32 %arg2 , %val1
@@ -195,9 +192,7 @@ define i1 @test_one_range_and_one_argument_range(ptr nocapture readonly %arg1, i
195192; Values' ranges do not overlap each other, so it can simplified to false.
196193define i1 @test_one_argument_range_and_one_range (i32 range(i32 1 , 6 ) %arg1 , ptr nocapture readonly %arg2 ) {
197194; CHECK-LABEL: @test_one_argument_range_and_one_range(
198- ; CHECK-NEXT: [[VAL1:%.*]] = load i32, ptr [[ARG2:%.*]], align 4, !range [[RNG5]]
199- ; CHECK-NEXT: [[RVAL:%.*]] = icmp ult i32 [[VAL1]], [[ARG1:%.*]]
200- ; CHECK-NEXT: ret i1 [[RVAL]]
195+ ; CHECK-NEXT: ret i1 false
201196;
202197 %val1 = load i32 , ptr %arg2 , !range !6
203198 %rval = icmp ult i32 %val1 , %arg1
@@ -264,8 +259,7 @@ define <2 x i1> @test_two_argument_ranges_vec(<2 x i32> range(i32 5, 10) %arg1,
264259; Values' ranges do not overlap each other, so it can simplified to false.
265260define <2 x i1 > @test_two_argument_ranges_vec_false (<2 x i32 > range(i32 1 , 6 ) %arg1 , <2 x i32 > range(i32 8 , 16 ) %arg2 ) {
266261; CHECK-LABEL: @test_two_argument_ranges_vec_false(
267- ; CHECK-NEXT: [[RVAL:%.*]] = icmp ult <2 x i32> [[ARG2:%.*]], [[ARG1:%.*]]
268- ; CHECK-NEXT: ret <2 x i1> [[RVAL]]
262+ ; CHECK-NEXT: ret <2 x i1> zeroinitializer
269263;
270264 %rval = icmp ult <2 x i32 > %arg2 , %arg1
271265 ret <2 x i1 > %rval
@@ -274,8 +268,7 @@ define <2 x i1> @test_two_argument_ranges_vec_false(<2 x i32> range(i32 1, 6) %a
274268; Values' ranges do not overlap each other, so it can simplified to true.
275269define <2 x i1 > @test_two_argument_ranges_vec_true (<2 x i32 > range(i32 1 , 6 ) %arg1 , <2 x i32 > range(i32 8 , 16 ) %arg2 ) {
276270; CHECK-LABEL: @test_two_argument_ranges_vec_true(
277- ; CHECK-NEXT: [[RVAL:%.*]] = icmp ugt <2 x i32> [[ARG2:%.*]], [[ARG1:%.*]]
278- ; CHECK-NEXT: ret <2 x i1> [[RVAL]]
271+ ; CHECK-NEXT: ret <2 x i1> <i1 true, i1 true>
279272;
280273 %rval = icmp ugt <2 x i32 > %arg2 , %arg1
281274 ret <2 x i1 > %rval
@@ -304,8 +297,7 @@ define i1 @test_two_return_attribute_ranges_one_in_call() {
304297; CHECK-LABEL: @test_two_return_attribute_ranges_one_in_call(
305298; CHECK-NEXT: [[VAL1:%.*]] = call range(i32 1, 6) i32 @create_range1()
306299; CHECK-NEXT: [[ARG1:%.*]] = call i32 @create_range2()
307- ; CHECK-NEXT: [[RVAL:%.*]] = icmp ult i32 [[ARG1]], [[VAL1]]
308- ; CHECK-NEXT: ret i1 [[RVAL]]
300+ ; CHECK-NEXT: ret i1 false
309301;
310302 %val1 = call range(i32 1 , 6 ) i32 @create_range1 ()
311303 %val2 = call i32 @create_range2 ()
@@ -318,8 +310,7 @@ define i1 @test_two_return_attribute_ranges() {
318310; CHECK-LABEL: @test_two_return_attribute_ranges(
319311; CHECK-NEXT: [[VAL1:%.*]] = call i32 @create_range3()
320312; CHECK-NEXT: [[ARG1:%.*]] = call i32 @create_range2()
321- ; CHECK-NEXT: [[RVAL:%.*]] = icmp ult i32 [[ARG1]], [[VAL1]]
322- ; CHECK-NEXT: ret i1 [[RVAL]]
313+ ; CHECK-NEXT: ret i1 false
323314;
324315 %val1 = call i32 @create_range3 ()
325316 %val2 = call i32 @create_range2 ()
@@ -331,8 +322,7 @@ define i1 @test_two_return_attribute_ranges() {
331322define i1 @test_one_return_argument_and_one_argument_range (i32 range(i32 8 , 16 ) %arg1 ) {
332323; CHECK-LABEL: @test_one_return_argument_and_one_argument_range(
333324; CHECK-NEXT: [[VAL1:%.*]] = call i32 @create_range3()
334- ; CHECK-NEXT: [[RVAL:%.*]] = icmp ugt i32 [[VAL1]], [[ARG1:%.*]]
335- ; CHECK-NEXT: ret i1 [[RVAL]]
325+ ; CHECK-NEXT: ret i1 false
336326;
337327 %val1 = call i32 @create_range3 ()
338328 %rval = icmp ult i32 %arg1 , %val1
@@ -343,9 +333,7 @@ define i1 @test_one_return_argument_and_one_argument_range(i32 range(i32 8, 16)
343333define i1 @test_one_range_and_one_return_argument (ptr nocapture readonly %arg1 ) {
344334; CHECK-LABEL: @test_one_range_and_one_return_argument(
345335; CHECK-NEXT: [[VAL1:%.*]] = call i32 @create_range3()
346- ; CHECK-NEXT: [[VAL2:%.*]] = load i32, ptr [[ARG1:%.*]], align 4, !range [[RNG5]]
347- ; CHECK-NEXT: [[RVAL:%.*]] = icmp ult i32 [[VAL2]], [[VAL1]]
348- ; CHECK-NEXT: ret i1 [[RVAL]]
336+ ; CHECK-NEXT: ret i1 false
349337;
350338 %val1 = call i32 @create_range3 ()
351339 %val2 = load i32 , ptr %arg1 , !range !6
0 commit comments