@@ -193,8 +193,7 @@ define i1 @ip_range_attribute_constant() {
193193
194194define internal i1 @ip_cmp_attribute_overdefined_callee (i32 range(i32 0 , 10 ) %x ) {
195195; IPSCCP-LABEL: @ip_cmp_attribute_overdefined_callee(
196- ; IPSCCP-NEXT: [[CMP:%.*]] = icmp ult i32 [[X:%.*]], 10
197- ; IPSCCP-NEXT: ret i1 [[CMP]]
196+ ; IPSCCP-NEXT: ret i1 poison
198197;
199198; SCCP-LABEL: @ip_cmp_attribute_overdefined_callee(
200199; SCCP-NEXT: ret i1 true
@@ -204,19 +203,21 @@ define internal i1 @ip_cmp_attribute_overdefined_callee(i32 range(i32 0, 10) %x)
204203}
205204
206205define i1 @ip_cmp_attribute_overdefined_caller (i32 %x ) {
207- ; CHECK-LABEL: @ip_cmp_attribute_overdefined_caller(
208- ; CHECK-NEXT: [[RES:%.*]] = call i1 @ip_cmp_attribute_overdefined_callee(i32 [[X:%.*]])
209- ; CHECK-NEXT: ret i1 [[RES]]
206+ ; IPSCCP-LABEL: @ip_cmp_attribute_overdefined_caller(
207+ ; IPSCCP-NEXT: [[RES:%.*]] = call i1 @ip_cmp_attribute_overdefined_callee(i32 [[X:%.*]])
208+ ; IPSCCP-NEXT: ret i1 true
209+ ;
210+ ; SCCP-LABEL: @ip_cmp_attribute_overdefined_caller(
211+ ; SCCP-NEXT: [[RES:%.*]] = call i1 @ip_cmp_attribute_overdefined_callee(i32 [[X:%.*]])
212+ ; SCCP-NEXT: ret i1 [[RES]]
210213;
211214 %res = call i1 @ip_cmp_attribute_overdefined_callee (i32 %x )
212215 ret i1 %res
213216}
214217
215218define internal i1 @ip_cmp_attribute_intersect_callee (i32 range(i32 0 , 10 ) %x ) {
216219; IPSCCP-LABEL: @ip_cmp_attribute_intersect_callee(
217- ; IPSCCP-NEXT: [[CMP1:%.*]] = icmp ult i32 [[X:%.*]], 10
218- ; IPSCCP-NEXT: [[AND:%.*]] = and i1 [[CMP1]], true
219- ; IPSCCP-NEXT: ret i1 [[AND]]
220+ ; IPSCCP-NEXT: ret i1 poison
220221;
221222; SCCP-LABEL: @ip_cmp_attribute_intersect_callee(
222223; SCCP-NEXT: [[CMP2:%.*]] = icmp uge i32 [[X:%.*]], 5
@@ -230,9 +231,13 @@ define internal i1 @ip_cmp_attribute_intersect_callee(i32 range(i32 0, 10) %x) {
230231}
231232
232233define i1 @ip_cmp_attribute_intersect_caller (i32 range(i32 5 , 15 ) %x ) {
233- ; CHECK-LABEL: @ip_cmp_attribute_intersect_caller(
234- ; CHECK-NEXT: [[RES:%.*]] = call i1 @ip_cmp_attribute_intersect_callee(i32 [[X:%.*]])
235- ; CHECK-NEXT: ret i1 [[RES]]
234+ ; IPSCCP-LABEL: @ip_cmp_attribute_intersect_caller(
235+ ; IPSCCP-NEXT: [[RES:%.*]] = call i1 @ip_cmp_attribute_intersect_callee(i32 [[X:%.*]])
236+ ; IPSCCP-NEXT: ret i1 true
237+ ;
238+ ; SCCP-LABEL: @ip_cmp_attribute_intersect_caller(
239+ ; SCCP-NEXT: [[RES:%.*]] = call i1 @ip_cmp_attribute_intersect_callee(i32 [[X:%.*]])
240+ ; SCCP-NEXT: ret i1 [[RES]]
236241;
237242 %res = call i1 @ip_cmp_attribute_intersect_callee (i32 %x )
238243 ret i1 %res
0 commit comments