Skip to content

Commit cd3e262

Browse files
committed
LAA: manually put in COMMON lines; UTC bug
1 parent f904685 commit cd3e262

File tree

1 file changed

+41
-102
lines changed

1 file changed

+41
-102
lines changed

llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll

Lines changed: 41 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 4
2-
; RUN: opt -passes='print<access-info>' -disable-output %s 2>&1 | FileCheck %s
3-
; RUN: opt -passes='print<access-info>' -disable-output -mtriple=arm64-apple-macosx %s 2>&1 | FileCheck --check-prefixes=VW128 %s
4-
; RUN: opt -passes='print<access-info>' -disable-output -mtriple=arm64-apple-macosx -mattr=+sve %s 2>&1 | FileCheck --check-prefixes=MAXLEN %s
1+
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 5
2+
; RUN: opt -passes='print<access-info>' -disable-output %s 2>&1 \
3+
; RUN: | FileCheck %s --check-prefixes=COMMON,CHECK
4+
; RUN: opt -passes='print<access-info>' -disable-output \
5+
; RUN: -mtriple=arm64-apple-macosx %s 2>&1 \
6+
; RUN: | FileCheck %s --check-prefixes=COMMON,VW128
7+
; RUN: opt -passes='print<access-info>' -disable-output \
8+
; RUN: -mtriple=arm64-apple-macosx -mattr=+sve %s 2>&1 \
9+
; RUN: | FileCheck %s --check-prefixes=COMMON,MAXLEN
510

611
; REQUIRES: aarch64-registered-target
712

@@ -10,104 +15,38 @@ target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
1015
; If the dependence distance is not a constant, whether it gets identified as backwards or unknown depends on the minimum distance and the target's vector length.
1116

1217
define void @backward_min_distance_8(ptr %A, i64 %N) {
13-
; CHECK-LABEL: 'backward_min_distance_8'
14-
; CHECK-NEXT: loop:
15-
; CHECK-NEXT: Memory dependences are safe with run-time checks
16-
; CHECK-NEXT: Dependences:
17-
; CHECK-NEXT: Run-time memory checks:
18-
; CHECK-NEXT: Check 0:
19-
; CHECK-NEXT: Comparing group ([[GRP1:0x[0-9a-f]+]]):
20-
; CHECK-NEXT: %gep.off.iv = getelementptr inbounds i8, ptr %gep.off, i64 %iv
21-
; CHECK-NEXT: Against group ([[GRP2:0x[0-9a-f]+]]):
22-
; CHECK-NEXT: %gep = getelementptr inbounds i8, ptr %A, i64 %iv
23-
; CHECK-NEXT: Grouped accesses:
24-
; CHECK-NEXT: Group [[GRP1]]:
25-
; CHECK-NEXT: (Low: {(1 + %A)<nuw>,+,1}<nuw><%outer.header> High: {(257 + %A),+,1}<nw><%outer.header>)
26-
; CHECK-NEXT: Member: {{\{\{}}(1 + %A)<nuw>,+,1}<nuw><%outer.header>,+,1}<nuw><%loop>
27-
; CHECK-NEXT: Group [[GRP2]]:
28-
; CHECK-NEXT: (Low: %A High: (256 + %A))
29-
; CHECK-NEXT: Member: {%A,+,1}<nuw><%loop>
30-
; CHECK-EMPTY:
31-
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
32-
; CHECK-NEXT: SCEV assumptions:
33-
; CHECK-EMPTY:
34-
; CHECK-NEXT: Expressions re-written:
35-
; CHECK-NEXT: outer.header:
36-
; CHECK-NEXT: Report: loop is not the innermost loop
37-
; CHECK-NEXT: Dependences:
38-
; CHECK-NEXT: Run-time memory checks:
39-
; CHECK-NEXT: Grouped accesses:
40-
; CHECK-EMPTY:
41-
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
42-
; CHECK-NEXT: SCEV assumptions:
43-
; CHECK-EMPTY:
44-
; CHECK-NEXT: Expressions re-written:
45-
;
46-
; VW128-LABEL: 'backward_min_distance_8'
47-
; VW128-NEXT: loop:
48-
; VW128-NEXT: Memory dependences are safe with run-time checks
49-
; VW128-NEXT: Dependences:
50-
; VW128-NEXT: Run-time memory checks:
51-
; VW128-NEXT: Check 0:
52-
; VW128-NEXT: Comparing group ([[GRP3:0x[0-9a-f]+]]):
53-
; VW128-NEXT: %gep.off.iv = getelementptr inbounds i8, ptr %gep.off, i64 %iv
54-
; VW128-NEXT: Against group ([[GRP4:0x[0-9a-f]+]]):
55-
; VW128-NEXT: %gep = getelementptr inbounds i8, ptr %A, i64 %iv
56-
; VW128-NEXT: Grouped accesses:
57-
; VW128-NEXT: Group [[GRP3]]:
58-
; VW128-NEXT: (Low: {(1 + %A)<nuw>,+,1}<nuw><%outer.header> High: {(257 + %A),+,1}<nw><%outer.header>)
59-
; VW128-NEXT: Member: {{\{\{}}(1 + %A)<nuw>,+,1}<nuw><%outer.header>,+,1}<nuw><%loop>
60-
; VW128-NEXT: Group [[GRP4]]:
61-
; VW128-NEXT: (Low: %A High: (256 + %A))
62-
; VW128-NEXT: Member: {%A,+,1}<nuw><%loop>
63-
; VW128-EMPTY:
64-
; VW128-NEXT: Non vectorizable stores to invariant address were not found in loop.
65-
; VW128-NEXT: SCEV assumptions:
66-
; VW128-EMPTY:
67-
; VW128-NEXT: Expressions re-written:
68-
; VW128-NEXT: outer.header:
69-
; VW128-NEXT: Report: loop is not the innermost loop
70-
; VW128-NEXT: Dependences:
71-
; VW128-NEXT: Run-time memory checks:
72-
; VW128-NEXT: Grouped accesses:
73-
; VW128-EMPTY:
74-
; VW128-NEXT: Non vectorizable stores to invariant address were not found in loop.
75-
; VW128-NEXT: SCEV assumptions:
76-
; VW128-EMPTY:
77-
; VW128-NEXT: Expressions re-written:
78-
;
79-
; MAXLEN-LABEL: 'backward_min_distance_8'
80-
; MAXLEN-NEXT: loop:
81-
; MAXLEN-NEXT: Memory dependences are safe with run-time checks
82-
; MAXLEN-NEXT: Dependences:
83-
; MAXLEN-NEXT: Run-time memory checks:
84-
; MAXLEN-NEXT: Check 0:
85-
; MAXLEN-NEXT: Comparing group ([[GRP5:0x[0-9a-f]+]]):
86-
; MAXLEN-NEXT: %gep.off.iv = getelementptr inbounds i8, ptr %gep.off, i64 %iv
87-
; MAXLEN-NEXT: Against group ([[GRP6:0x[0-9a-f]+]]):
88-
; MAXLEN-NEXT: %gep = getelementptr inbounds i8, ptr %A, i64 %iv
89-
; MAXLEN-NEXT: Grouped accesses:
90-
; MAXLEN-NEXT: Group [[GRP5]]:
91-
; MAXLEN-NEXT: (Low: {(1 + %A)<nuw>,+,1}<nuw><%outer.header> High: {(257 + %A),+,1}<nw><%outer.header>)
92-
; MAXLEN-NEXT: Member: {{\{\{}}(1 + %A)<nuw>,+,1}<nuw><%outer.header>,+,1}<nuw><%loop>
93-
; MAXLEN-NEXT: Group [[GRP6]]:
94-
; MAXLEN-NEXT: (Low: %A High: (256 + %A))
95-
; MAXLEN-NEXT: Member: {%A,+,1}<nuw><%loop>
96-
; MAXLEN-EMPTY:
97-
; MAXLEN-NEXT: Non vectorizable stores to invariant address were not found in loop.
98-
; MAXLEN-NEXT: SCEV assumptions:
99-
; MAXLEN-EMPTY:
100-
; MAXLEN-NEXT: Expressions re-written:
101-
; MAXLEN-NEXT: outer.header:
102-
; MAXLEN-NEXT: Report: loop is not the innermost loop
103-
; MAXLEN-NEXT: Dependences:
104-
; MAXLEN-NEXT: Run-time memory checks:
105-
; MAXLEN-NEXT: Grouped accesses:
106-
; MAXLEN-EMPTY:
107-
; MAXLEN-NEXT: Non vectorizable stores to invariant address were not found in loop.
108-
; MAXLEN-NEXT: SCEV assumptions:
109-
; MAXLEN-EMPTY:
110-
; MAXLEN-NEXT: Expressions re-written:
18+
; COMMON-LABEL: 'backward_min_distance_8'
19+
; COMMON-NEXT: loop:
20+
; COMMON-NEXT: Memory dependences are safe with run-time checks
21+
; COMMON-NEXT: Dependences:
22+
; COMMON-NEXT: Run-time memory checks:
23+
; COMMON-NEXT: Check 0:
24+
; COMMON-NEXT: Comparing group ([[GRP1:0x[0-9a-f]+]]):
25+
; COMMON-NEXT: %gep.off.iv = getelementptr inbounds i8, ptr %gep.off, i64 %iv
26+
; COMMON-NEXT: Against group ([[GRP2:0x[0-9a-f]+]]):
27+
; COMMON-NEXT: %gep = getelementptr inbounds i8, ptr %A, i64 %iv
28+
; COMMON-NEXT: Grouped accesses:
29+
; COMMON-NEXT: Group [[GRP1]]:
30+
; COMMON-NEXT: (Low: {(1 + %A)<nuw>,+,1}<nuw><%outer.header> High: {(257 + %A),+,1}<nw><%outer.header>)
31+
; COMMON-NEXT: Member: {{\{\{}}(1 + %A)<nuw>,+,1}<nuw><%outer.header>,+,1}<nuw><%loop>
32+
; COMMON-NEXT: Group [[GRP2]]:
33+
; COMMON-NEXT: (Low: %A High: (256 + %A))
34+
; COMMON-NEXT: Member: {%A,+,1}<nuw><%loop>
35+
; COMMON-EMPTY:
36+
; COMMON-NEXT: Non vectorizable stores to invariant address were not found in loop.
37+
; COMMON-NEXT: SCEV assumptions:
38+
; COMMON-EMPTY:
39+
; COMMON-NEXT: Expressions re-written:
40+
; COMMON-NEXT: outer.header:
41+
; COMMON-NEXT: Report: loop is not the innermost loop
42+
; COMMON-NEXT: Dependences:
43+
; COMMON-NEXT: Run-time memory checks:
44+
; COMMON-NEXT: Grouped accesses:
45+
; COMMON-EMPTY:
46+
; COMMON-NEXT: Non vectorizable stores to invariant address were not found in loop.
47+
; COMMON-NEXT: SCEV assumptions:
48+
; COMMON-EMPTY:
49+
; COMMON-NEXT: Expressions re-written:
11150
;
11251
entry:
11352
br label %outer.header

0 commit comments

Comments
 (0)