Skip to content

Commit a6f2a1e

Browse files
committed
[SCEV] Generate test checks (NFC)
1 parent 0e960f1 commit a6f2a1e

File tree

1 file changed

+31
-13
lines changed

1 file changed

+31
-13
lines changed

llvm/test/Analysis/ScalarEvolution/trunc-simplify.ll

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,63 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 5
12
; RUN: opt < %s -disable-output "-passes=print<scalar-evolution>" 2>&1 | FileCheck %s
23

34
; Check that we convert
45
; trunc(C * a) -> trunc(C) * trunc(a)
56
; if C is a constant.
6-
; CHECK-LABEL: @trunc_of_mul
77
define i8 @trunc_of_mul(i32 %a) {
8+
; CHECK-LABEL: 'trunc_of_mul'
9+
; CHECK-NEXT: Classifying expressions for: @trunc_of_mul
10+
; CHECK-NEXT: %b = mul i32 %a, 100
11+
; CHECK-NEXT: --> (100 * %a) U: [0,-3) S: [-2147483648,2147483645)
12+
; CHECK-NEXT: %c = trunc i32 %b to i8
13+
; CHECK-NEXT: --> (100 * (trunc i32 %a to i8)) U: [0,-3) S: [-128,125)
14+
; CHECK-NEXT: Determining loop execution counts for: @trunc_of_mul
15+
;
816
%b = mul i32 %a, 100
9-
; CHECK: %c
10-
; CHECK-NEXT: --> (100 * (trunc i32 %a to i8))
1117
%c = trunc i32 %b to i8
1218
ret i8 %c
1319
}
1420

1521
; Check that we convert
1622
; trunc(C + a) -> trunc(C) + trunc(a)
1723
; if C is a constant.
18-
; CHECK-LABEL: @trunc_of_add
1924
define i8 @trunc_of_add(i32 %a) {
25+
; CHECK-LABEL: 'trunc_of_add'
26+
; CHECK-NEXT: Classifying expressions for: @trunc_of_add
27+
; CHECK-NEXT: %b = add i32 %a, 100
28+
; CHECK-NEXT: --> (100 + %a) U: full-set S: full-set
29+
; CHECK-NEXT: %c = trunc i32 %b to i8
30+
; CHECK-NEXT: --> (100 + (trunc i32 %a to i8)) U: full-set S: full-set
31+
; CHECK-NEXT: Determining loop execution counts for: @trunc_of_add
32+
;
2033
%b = add i32 %a, 100
21-
; CHECK: %c
22-
; CHECK-NEXT: --> (100 + (trunc i32 %a to i8))
2334
%c = trunc i32 %b to i8
2435
ret i8 %c
2536
}
2637

2738
; Check that we truncate to zero values assumed to have at least as many
2839
; trailing zeros as the target type.
29-
; CHECK-LABEL: @trunc_to_assumed_zeros
3040
define i8 @trunc_to_assumed_zeros(ptr %p) {
41+
; CHECK-LABEL: 'trunc_to_assumed_zeros'
42+
; CHECK-NEXT: Classifying expressions for: @trunc_to_assumed_zeros
43+
; CHECK-NEXT: %a = load i32, ptr %p, align 4
44+
; CHECK-NEXT: --> %a U: [0,-255) S: [-2147483648,2147483393)
45+
; CHECK-NEXT: %and = and i32 %a, 255
46+
; CHECK-NEXT: --> 0 U: [0,1) S: [0,1)
47+
; CHECK-NEXT: %c = trunc i32 %a to i8
48+
; CHECK-NEXT: --> 0 U: [0,1) S: [0,1)
49+
; CHECK-NEXT: %d = trunc i32 %a to i1
50+
; CHECK-NEXT: --> false U: [0,-1) S: [0,-1)
51+
; CHECK-NEXT: %e = trunc i32 %a to i16
52+
; CHECK-NEXT: --> (trunc i32 %a to i16) U: [0,-255) S: [-32768,32513)
53+
; CHECK-NEXT: Determining loop execution counts for: @trunc_to_assumed_zeros
54+
;
3155
%a = load i32, ptr %p
3256
%and = and i32 %a, 255
3357
%cmp = icmp eq i32 %and, 0
3458
tail call void @llvm.assume(i1 %cmp)
35-
; CHECK: %c
36-
; CHECK-NEXT: --> 0
3759
%c = trunc i32 %a to i8
38-
; CHECK: %d
39-
; CHECK-NEXT: --> false
4060
%d = trunc i32 %a to i1
41-
; CHECK: %e
42-
; CHECK-NEXT: --> (trunc i32 %a to i16)
4361
%e = trunc i32 %a to i16
4462
ret i8 %c
4563
}

0 commit comments

Comments
 (0)