@@ -578,22 +578,22 @@ define void @test_ptr_aligned_by_2_and_4_via_assumption(ptr %start, ptr %end) {
578578; CHECK-LABEL: 'test_ptr_aligned_by_2_and_4_via_assumption'
579579; CHECK-NEXT: Classifying expressions for: @test_ptr_aligned_by_2_and_4_via_assumption
580580; CHECK-NEXT: %iv = phi ptr [ %start, %entry ], [ %iv.next, %loop ]
581- ; CHECK-NEXT: --> {%start,+,4}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
581+ ; CHECK-NEXT: --> {%start,+,4}<%loop> U: [0,-1) S: [-9223372036854775808,9223372036854775807) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
582582; CHECK-NEXT: %iv.next = getelementptr i8, ptr %iv, i64 4
583- ; CHECK-NEXT: --> {(4 + %start),+,4}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
583+ ; CHECK-NEXT: --> {(4 + %start),+,4}<%loop> U: [0,-1) S: [-9223372036854775808,9223372036854775807) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
584584; CHECK-NEXT: Determining loop execution counts for: @test_ptr_aligned_by_2_and_4_via_assumption
585585; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count.
586586; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count.
587587; CHECK-NEXT: Loop %loop: Unpredictable symbolic max backedge-taken count.
588588; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-4 + (-1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64)) /u 4)
589589; CHECK-NEXT: Predicates:
590- ; CHECK-NEXT: Equal predicate: (zext i2 ((trunc i64 (ptrtoint ptr %end to i64) to i2) + ( -1 * (trunc i64 (ptrtoint ptr %start to i64) to i2) )) to i64) == 0
590+ ; CHECK-NEXT: Equal predicate: (zext i2 (-1 * (trunc i64 (ptrtoint ptr %start to i64) to i2)) to i64) == 0
591591; CHECK-NEXT: Loop %loop: Predicated constant max backedge-taken count is i64 4611686018427387903
592592; CHECK-NEXT: Predicates:
593- ; CHECK-NEXT: Equal predicate: (zext i2 ((trunc i64 (ptrtoint ptr %end to i64) to i2) + ( -1 * (trunc i64 (ptrtoint ptr %start to i64) to i2) )) to i64) == 0
593+ ; CHECK-NEXT: Equal predicate: (zext i2 (-1 * (trunc i64 (ptrtoint ptr %start to i64) to i2)) to i64) == 0
594594; CHECK-NEXT: Loop %loop: Predicated symbolic max backedge-taken count is ((-4 + (-1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64)) /u 4)
595595; CHECK-NEXT: Predicates:
596- ; CHECK-NEXT: Equal predicate: (zext i2 ((trunc i64 (ptrtoint ptr %end to i64) to i2) + ( -1 * (trunc i64 (ptrtoint ptr %start to i64) to i2) )) to i64) == 0
596+ ; CHECK-NEXT: Equal predicate: (zext i2 (-1 * (trunc i64 (ptrtoint ptr %start to i64) to i2)) to i64) == 0
597597;
598598entry:
599599 call void @llvm.assume (i1 true ) [ "align" (ptr %start , i64 2 ) ]
@@ -615,9 +615,9 @@ define void @test_ptrs_aligned_by_4_via_assumption(ptr %start, ptr %end) {
615615; CHECK-LABEL: 'test_ptrs_aligned_by_4_via_assumption'
616616; CHECK-NEXT: Classifying expressions for: @test_ptrs_aligned_by_4_via_assumption
617617; CHECK-NEXT: %iv = phi ptr [ %start, %entry ], [ %iv.next, %loop ]
618- ; CHECK-NEXT: --> {%start,+,4}<%loop> U: full-set S: full-set Exits: ((4 * (( -4 + (-1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64)) /u 4))<nuw> + %start) LoopDispositions: { %loop: Computable }
618+ ; CHECK-NEXT: --> {%start,+,4}<%loop> U: [0,-3) S: [-9223372036854775808,9223372036854775805) Exits: (-4 + (-1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64) + %start) LoopDispositions: { %loop: Computable }
619619; CHECK-NEXT: %iv.next = getelementptr i8, ptr %iv, i64 4
620- ; CHECK-NEXT: --> {(4 + %start),+,4}<%loop> U: full-set S: full-set Exits: (4 + (4 * ((-4 + (- 1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64)) /u 4))<nuw> + %start) LoopDispositions: { %loop: Computable }
620+ ; CHECK-NEXT: --> {(4 + %start),+,4}<%loop> U: [0,-3) S: [-9223372036854775808,9223372036854775805) Exits: ((- 1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64) + %start) LoopDispositions: { %loop: Computable }
621621; CHECK-NEXT: Determining loop execution counts for: @test_ptrs_aligned_by_4_via_assumption
622622; CHECK-NEXT: Loop %loop: backedge-taken count is ((-4 + (-1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64)) /u 4)
623623; CHECK-NEXT: Loop %loop: constant max backedge-taken count is i64 4611686018427387903
@@ -644,9 +644,9 @@ define void @test_ptrs_aligned_by_8_via_assumption(ptr %start, ptr %end) {
644644; CHECK-LABEL: 'test_ptrs_aligned_by_8_via_assumption'
645645; CHECK-NEXT: Classifying expressions for: @test_ptrs_aligned_by_8_via_assumption
646646; CHECK-NEXT: %iv = phi ptr [ %start, %entry ], [ %iv.next, %loop ]
647- ; CHECK-NEXT: --> {%start,+,4}<%loop> U: full-set S: full-set Exits: ((4 * (( -4 + (-1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64)) /u 4))<nuw> + %start) LoopDispositions: { %loop: Computable }
647+ ; CHECK-NEXT: --> {%start,+,4}<%loop> U: [0,-3) S: [-9223372036854775808,9223372036854775805) Exits: (-4 + (-1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64) + %start) LoopDispositions: { %loop: Computable }
648648; CHECK-NEXT: %iv.next = getelementptr i8, ptr %iv, i64 4
649- ; CHECK-NEXT: --> {(4 + %start),+,4}<%loop> U: full-set S: full-set Exits: (4 + (4 * ((-4 + (- 1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64)) /u 4))<nuw> + %start) LoopDispositions: { %loop: Computable }
649+ ; CHECK-NEXT: --> {(4 + %start)<nuw><nsw> ,+,4}<%loop> U: [0,-3) S: [-9223372036854775808,9223372036854775805) Exits: ((- 1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64) + %start) LoopDispositions: { %loop: Computable }
650650; CHECK-NEXT: Determining loop execution counts for: @test_ptrs_aligned_by_8_via_assumption
651651; CHECK-NEXT: Loop %loop: backedge-taken count is ((-4 + (-1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64)) /u 4)
652652; CHECK-NEXT: Loop %loop: constant max backedge-taken count is i64 4611686018427387903
@@ -677,22 +677,22 @@ define void @test_ptr_aligned_by_4_via_assumption_multiple_loop_predecessors(ptr
677677; CHECK-NEXT: %c = call i1 @cond()
678678; CHECK-NEXT: --> %c U: full-set S: full-set
679679; CHECK-NEXT: %iv = phi ptr [ %start, %then ], [ %start, %else ], [ %iv.next, %loop ]
680- ; CHECK-NEXT: --> {%start,+,4}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
680+ ; CHECK-NEXT: --> {%start,+,4}<%loop> U: [0,-1) S: [-9223372036854775808,9223372036854775807) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
681681; CHECK-NEXT: %iv.next = getelementptr i8, ptr %iv, i64 4
682- ; CHECK-NEXT: --> {(4 + %start),+,4}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
682+ ; CHECK-NEXT: --> {(4 + %start),+,4}<%loop> U: [0,-1) S: [-9223372036854775808,9223372036854775807) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
683683; CHECK-NEXT: Determining loop execution counts for: @test_ptr_aligned_by_4_via_assumption_multiple_loop_predecessors
684684; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count.
685685; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count.
686686; CHECK-NEXT: Loop %loop: Unpredictable symbolic max backedge-taken count.
687687; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-4 + (-1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64)) /u 4)
688688; CHECK-NEXT: Predicates:
689- ; CHECK-NEXT: Equal predicate: (zext i2 ((trunc i64 (ptrtoint ptr %end to i64) to i2) + ( -1 * (trunc i64 (ptrtoint ptr %start to i64) to i2) )) to i64) == 0
689+ ; CHECK-NEXT: Equal predicate: (zext i2 (-1 * (trunc i64 (ptrtoint ptr %start to i64) to i2)) to i64) == 0
690690; CHECK-NEXT: Loop %loop: Predicated constant max backedge-taken count is i64 4611686018427387903
691691; CHECK-NEXT: Predicates:
692- ; CHECK-NEXT: Equal predicate: (zext i2 ((trunc i64 (ptrtoint ptr %end to i64) to i2) + ( -1 * (trunc i64 (ptrtoint ptr %start to i64) to i2) )) to i64) == 0
692+ ; CHECK-NEXT: Equal predicate: (zext i2 (-1 * (trunc i64 (ptrtoint ptr %start to i64) to i2)) to i64) == 0
693693; CHECK-NEXT: Loop %loop: Predicated symbolic max backedge-taken count is ((-4 + (-1 * (ptrtoint ptr %start to i64)) + (ptrtoint ptr %end to i64)) /u 4)
694694; CHECK-NEXT: Predicates:
695- ; CHECK-NEXT: Equal predicate: (zext i2 ((trunc i64 (ptrtoint ptr %end to i64) to i2) + ( -1 * (trunc i64 (ptrtoint ptr %start to i64) to i2) )) to i64) == 0
695+ ; CHECK-NEXT: Equal predicate: (zext i2 (-1 * (trunc i64 (ptrtoint ptr %start to i64) to i2)) to i64) == 0
696696;
697697entry:
698698 call void @llvm.assume (i1 true ) [ "align" (ptr %start , i64 2 ) ]
0 commit comments