@@ -412,19 +412,19 @@ exit:
412412 ret void
413413}
414414
415- define void @swapped_predicate (i32 %n ) nounwind {
415+ define void @swapped_predicate (i32 %n ) {
416416; Prove that (n >= 1) ===> (0 >= -n / 2).
417417; CHECK-LABEL: 'swapped_predicate'
418418; CHECK-NEXT: Determining loop execution counts for: @swapped_predicate
419- ; CHECK-NEXT: Loop %header: backedge-taken count is (1 + %n.div.2)<nsw>
419+ ; CHECK-NEXT: Loop %header: backedge-taken count is (1 + %n.div.2)<nuw>< nsw>
420420; CHECK-NEXT: Loop %header: constant max backedge-taken count is i32 1073741824
421- ; CHECK-NEXT: Loop %header: symbolic max backedge-taken count is (1 + %n.div.2)<nsw>
421+ ; CHECK-NEXT: Loop %header: symbolic max backedge-taken count is (1 + %n.div.2)<nuw>< nsw>
422422; CHECK-NEXT: Loop %header: Trip multiple is 1
423423;
424424entry:
425425 %cmp1 = icmp sge i32 %n , 1
426426 %n.div.2 = sdiv i32 %n , 2
427- call void ( i1 , ...) @llvm.experimental.guard (i1 %cmp1 ) [ "deopt" () ]
427+ call void @llvm.assume (i1 %cmp1 )
428428 br label %header
429429
430430header:
@@ -439,7 +439,7 @@ exit:
439439 ret void
440440}
441441
442- define void @swapped_predicate_neg (i32 %n ) nounwind {
442+ define void @swapped_predicate_neg (i32 %n ) {
443443; Prove that (n >= 1) =\=> (-n / 2 >= 0).
444444; CHECK-LABEL: 'swapped_predicate_neg'
445445; CHECK-NEXT: Determining loop execution counts for: @swapped_predicate_neg
@@ -450,7 +450,7 @@ define void @swapped_predicate_neg(i32 %n) nounwind {
450450entry:
451451 %cmp1 = icmp sge i32 %n , 1
452452 %n.div.2 = sdiv i32 %n , 2
453- call void ( i1 , ...) @llvm.experimental.guard (i1 %cmp1 ) [ "deopt" () ]
453+ call void @llvm.assume (i1 %cmp1 )
454454 br label %header
455455
456456header:
0 commit comments