@@ -7,13 +7,11 @@ define i1 @infer_nuw(i8 range(i8 0, 2) %A, i8 range(i8 0, 2) %B) {
77; CHECK-SAME: i8 range(i8 0, 2) [[A:%.*]], i8 range(i8 0, 2) [[B:%.*]]) {
88; CHECK-NEXT: [[XOR:%.*]] = xor i8 [[B]], [[A]]
99; CHECK-NEXT: [[TRUNC:%.*]] = trunc nuw i8 [[XOR]] to i1
10- ; CHECK-NEXT: [[RESULT:%.*]] = xor i1 [[TRUNC]], true
11- ; CHECK-NEXT: ret i1 [[RESULT]]
10+ ; CHECK-NEXT: ret i1 [[TRUNC]]
1211;
1312 %xor = xor i8 %B , %A
1413 %trunc = trunc i8 %xor to i1
15- %result = xor i1 %trunc , true
16- ret i1 %result
14+ ret i1 %trunc
1715}
1816
1917
@@ -35,13 +33,11 @@ define i8 @infer_nuw_nsw(i16 range(i16 -5, -3) %A, i16 range(i16 -5, -3) %B) {
3533; CHECK-SAME: i16 range(i16 -5, -3) [[A:%.*]], i16 range(i16 -5, -3) [[B:%.*]]) {
3634; CHECK-NEXT: [[XOR:%.*]] = xor i16 [[B]], [[A]]
3735; CHECK-NEXT: [[TRUNC:%.*]] = trunc nuw nsw i16 [[XOR]] to i8
38- ; CHECK-NEXT: [[XOR2:%.*]] = xor i8 [[TRUNC]], 1
39- ; CHECK-NEXT: ret i8 [[XOR2]]
36+ ; CHECK-NEXT: ret i8 [[TRUNC]]
4037;
4138 %xor = xor i16 %B , %A
4239 %trunc = trunc i16 %xor to i8
43- %xor2 = xor i8 %trunc , 1
44- ret i8 %xor2
40+ ret i8 %trunc
4541}
4642
4743
@@ -104,11 +100,9 @@ define i1 @overdefined_range_negative(i8 %A, i8 %B) {
104100; CHECK-SAME: i8 [[A:%.*]], i8 [[B:%.*]]) {
105101; CHECK-NEXT: [[XOR:%.*]] = xor i8 [[A]], [[B]]
106102; CHECK-NEXT: [[TRUNC:%.*]] = trunc i8 [[XOR]] to i1
107- ; CHECK-NEXT: [[XOR2:%.*]] = xor i1 [[TRUNC]], true
108- ; CHECK-NEXT: ret i1 [[XOR2]]
103+ ; CHECK-NEXT: ret i1 [[TRUNC]]
109104;
110105 %xor = xor i8 %A , %B
111106 %trunc = trunc i8 %xor to i1
112- %xor2 = xor i1 %trunc , true
113- ret i1 %xor2
107+ ret i1 %trunc
114108}
0 commit comments