4
4
@d = global i8 2 , align 1
5
5
6
6
; CHECK: Alias sets for function 'test_alloca_argmemonly':
7
- ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 3 memory locations .
7
+ ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 3 pointer values .
8
8
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (ptr %a, LocationSize::precise(1))
9
9
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (ptr %d, unknown before-or-after), (ptr %s, unknown before-or-after)
10
10
define void @test_alloca_argmemonly (ptr %s , ptr %d ) {
16
16
}
17
17
18
18
; CHECK: Alias sets for function 'test_readonly_arg'
19
- ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 3 memory locations .
19
+ ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 2 pointer values .
20
20
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (ptr %d, unknown before-or-after)
21
- ; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 2 ] must alias, Ref Pointers: (ptr %s, unknown before-or-after), (ptr %s, LocationSize::precise(1))
21
+ ; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1 ] must alias, Ref Pointers: (ptr %s, unknown before-or-after), (ptr %s, LocationSize::precise(1))
22
22
define i8 @test_readonly_arg (ptr noalias %s , ptr noalias %d ) {
23
23
entry:
24
24
call void @my_memcpy (ptr %d , ptr %s , i64 1 )
27
27
}
28
28
29
29
; CHECK: Alias sets for function 'test_noalias_argmemonly':
30
- ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 3 memory locations .
30
+ ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 3 pointer values .
31
31
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (ptr %a, LocationSize::precise(1))
32
32
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (ptr %d, unknown before-or-after), (ptr %s, unknown before-or-after)
33
33
define void @test_noalias_argmemonly (ptr noalias %a , ptr %s , ptr %d ) {
38
38
}
39
39
40
40
; CHECK: Alias sets for function 'test5':
41
- ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 4 memory locations .
42
- ; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 2 ] must alias, Mod/Ref Pointers: (ptr %a, LocationSize::precise(1)), (ptr %a, unknown before-or-after)
43
- ; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 2 ] must alias, Mod Pointers: (ptr %b, unknown before-or-after), (ptr %b, LocationSize::precise(1))
41
+ ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 2 pointer values .
42
+ ; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1 ] must alias, Mod/Ref Pointers: (ptr %a, LocationSize::precise(1)), (ptr %a, unknown before-or-after)
43
+ ; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1 ] must alias, Mod Pointers: (ptr %b, unknown before-or-after), (ptr %b, LocationSize::precise(1))
44
44
define void @test5 (ptr noalias %a , ptr noalias %b ) {
45
45
entry:
46
46
store i8 1 , ptr %a , align 1
50
50
}
51
51
52
52
; CHECK: Alias sets for function 'test_argcollapse':
53
- ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 4 memory locations .
54
- ; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 2 ] must alias, Mod/Ref Pointers: (ptr %a, LocationSize::precise(1)), (ptr %a, unknown before-or-after)
55
- ; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 2 ] must alias, Mod/Ref Pointers: (ptr %b, unknown before-or-after), (ptr %b, LocationSize::precise(1))
53
+ ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 2 pointer values .
54
+ ; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1 ] must alias, Mod/Ref Pointers: (ptr %a, LocationSize::precise(1)), (ptr %a, unknown before-or-after)
55
+ ; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1 ] must alias, Mod/Ref Pointers: (ptr %b, unknown before-or-after), (ptr %b, LocationSize::precise(1))
56
56
define void @test_argcollapse (ptr noalias %a , ptr noalias %b ) {
57
57
entry:
58
58
store i8 1 , ptr %a , align 1
62
62
}
63
63
64
64
; CHECK: Alias sets for function 'test_memcpy1':
65
- ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 2 memory locations .
65
+ ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 2 pointer values .
66
66
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod/Ref Pointers: (ptr %b, unknown before-or-after)
67
67
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod/Ref Pointers: (ptr %a, unknown before-or-after)
68
68
define void @test_memcpy1 (ptr noalias %a , ptr noalias %b ) {
73
73
}
74
74
75
75
; CHECK: Alias sets for function 'test_memset1':
76
- ; CHECK-NEXT: Alias Set Tracker: 1 alias sets for 1 memory locations .
76
+ ; CHECK-NEXT: Alias Set Tracker: 1 alias sets for 1 pointer values .
77
77
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (ptr %a, unknown before-or-after)
78
78
define void @test_memset1 () {
79
79
entry:
83
83
}
84
84
85
85
; CHECK: Alias sets for function 'test_memset2':
86
- ; CHECK-NEXT: Alias Set Tracker: 1 alias sets for 1 memory locations .
86
+ ; CHECK-NEXT: Alias Set Tracker: 1 alias sets for 1 pointer values .
87
87
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (ptr %a, unknown before-or-after)
88
88
define void @test_memset2 (ptr %a ) {
89
89
entry:
92
92
}
93
93
94
94
; CHECK: Alias sets for function 'test_memset3':
95
- ; CHECK-NEXT: Alias Set Tracker: 1 alias sets for 2 memory locations .
95
+ ; CHECK-NEXT: Alias Set Tracker: 1 alias sets for 2 pointer values .
96
96
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod Pointers: (ptr %a, unknown before-or-after), (ptr %b, unknown before-or-after)
97
97
define void @test_memset3 (ptr %a , ptr %b ) {
98
98
entry:
@@ -104,7 +104,7 @@ entry:
104
104
;; PICKUP HERE
105
105
106
106
; CHECK: Alias sets for function 'test_memset4':
107
- ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 2 memory locations .
107
+ ; CHECK-NEXT: Alias Set Tracker: 2 alias sets for 2 pointer values .
108
108
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (ptr %a, unknown before-or-after)
109
109
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (ptr %b, unknown before-or-after)
110
110
define void @test_memset4 (ptr noalias %a , ptr noalias %b ) {
@@ -120,7 +120,7 @@ declare void @my_memmove(ptr nocapture, ptr nocapture readonly, i64) argmemonly
120
120
121
121
122
122
; CHECK: Alias sets for function 'test_attribute_intersect':
123
- ; CHECK-NEXT: Alias Set Tracker: 1 alias sets for 1 memory locations .
123
+ ; CHECK-NEXT: Alias Set Tracker: 1 alias sets for 1 pointer values .
124
124
; CHECK-NEXT: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (ptr %a, LocationSize::precise(1))
125
125
define i8 @test_attribute_intersect (ptr noalias %a ) {
126
126
entry:
0 commit comments