Skip to content

Commit c2a9a97

Browse files
[LICM] Introduce test for PR92655 (NFC)
1 parent 7f58ffd commit c2a9a97

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
; RUN: opt -S -passes='loop-unroll,loop-mssa(licm),print<scalar-evolution>' -unroll-count=4 -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCEV-EXPR
2+
3+
define i16 @main() {
4+
; SCEV-EXPR: Classifying expressions for: @main
5+
; SCEV-EXPR-NEXT: %mul = phi i16 [ 1, %entry ], [ %mul.n.3, %loop ]
6+
; SCEV-EXPR-NEXT: --> %mul U: full-set S: [-32768,32753) Exits: 4096 LoopDispositions: { %loop: Variant }
7+
; SCEV-EXPR-NEXT: %div = phi i16 [ 32767, %entry ], [ %div.n.3, %loop ]
8+
; SCEV-EXPR-NEXT: --> %div U: [-2048,-32768) S: [-2048,-32768) Exits: 7 LoopDispositions: { %loop: Variant }
9+
; SCEV-EXPR-NEXT: %mul.n = mul i16 %mul, 8
10+
; SCEV-EXPR-NEXT: --> (2 * %mul) U: [0,-1) S: [-32768,32767) Exits: 8192 LoopDispositions: { %loop: Variant }
11+
entry:
12+
br label %loop
13+
14+
loop:
15+
%mul = phi i16 [ 1, %entry ], [ %mul.n, %loop ]
16+
%div = phi i16 [ 32767, %entry ], [ %div.n, %loop ]
17+
%mul.n = mul i16 %mul, 2
18+
%div.n = sdiv i16 %div, 2
19+
%cmp = icmp sgt i16 %div, 0
20+
br i1 %cmp, label %loop, label %end
21+
22+
end:
23+
ret i16 %mul
24+
}

0 commit comments

Comments
 (0)