@@ -40,26 +40,26 @@ simple:
40
40
// CHECK - NEXT: <empty>
41
41
// CHECK - NEXT: End of Function "simple"
42
42
// CHECK - EMPTY:
43
- // CHECK - NEXT: PacRetAnalysis::ComputeNext( hint # 25 , pacret - state<NonAutClobRegs: , Insts: >)
44
- // CHECK - NEXT: .. result: (pacret - state<NonAutClobRegs: LR W30 W30_HI , Insts: >)
45
- // CHECK - NEXT: PacRetAnalysis::ComputeNext( b [[ BB1 ]], pacret - state<NonAutClobRegs: LR W30 W30_HI , Insts: >)
46
- // CHECK - NEXT: .. result: (pacret - state<NonAutClobRegs: LR W30 W30_HI , Insts: >)
43
+ // CHECK - NEXT: PacRetAnalysis::ComputeNext( hint # 25 , pacret - state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
44
+ // CHECK - NEXT: .. result: (pacret - state<SafeToDerefRegs: , Insts: >)
45
+ // CHECK - NEXT: PacRetAnalysis::ComputeNext( b [[ BB1 ]], pacret - state<SafeToDerefRegs: , Insts: >)
46
+ // CHECK - NEXT: .. result: (pacret - state<SafeToDerefRegs: , Insts: >)
47
47
// CHECK - NEXT: PacRetAnalysis::Confluence(
48
- // CHECK - NEXT: State 1 : pacret - state<NonAutClobRegs: , Insts: >
49
- // CHECK - NEXT: State 2 : pacret - state<NonAutClobRegs: LR W30 W30_HI , Insts: >)
50
- // CHECK - NEXT: merged state: pacret - state<NonAutClobRegs: LR W30 W30_HI , Insts: >
51
- // CHECK - NEXT: PacRetAnalysis::ComputeNext( hint # 29 , pacret - state<NonAutClobRegs: LR W30 W30_HI , Insts: >)
52
- // CHECK - NEXT: .. result: (pacret - state<NonAutClobRegs: , Insts: >)
53
- // CHECK - NEXT: PacRetAnalysis::ComputeNext( ret x30 , pacret - state<NonAutClobRegs: , Insts: >)
54
- // CHECK - NEXT: .. result: (pacret - state<NonAutClobRegs: , Insts: >)
48
+ // CHECK - NEXT: State 1 : pacret - state<SafeToDerefRegs: (all) , Insts: >
49
+ // CHECK - NEXT: State 2 : pacret - state<SafeToDerefRegs: , Insts: >)
50
+ // CHECK - NEXT: merged state: pacret - state<SafeToDerefRegs: , Insts: >
51
+ // CHECK - NEXT: PacRetAnalysis::ComputeNext( hint # 29 , pacret - state<SafeToDerefRegs: , Insts: >)
52
+ // CHECK - NEXT: .. result: (pacret - state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
53
+ // CHECK - NEXT: PacRetAnalysis::ComputeNext( ret x30 , pacret - state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
54
+ // CHECK - NEXT: .. result: (pacret - state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
55
55
// CHECK - NEXT: PacRetAnalysis::Confluence(
56
- // CHECK - NEXT: State 1 : pacret - state<NonAutClobRegs: LR W30 W30_HI , Insts: >
57
- // CHECK - NEXT: State 2 : pacret - state<NonAutClobRegs: LR W30 W30_HI , Insts: >)
58
- // CHECK - NEXT: merged state: pacret - state<NonAutClobRegs: LR W30 W30_HI , Insts: >
59
- // CHECK - NEXT: PacRetAnalysis::ComputeNext( hint # 29 , pacret - state<NonAutClobRegs: LR W30 W30_HI , Insts: >)
60
- // CHECK - NEXT: .. result: (pacret - state<NonAutClobRegs: , Insts: >)
61
- // CHECK - NEXT: PacRetAnalysis::ComputeNext( ret x30 , pacret - state<NonAutClobRegs: , Insts: >)
62
- // CHECK - NEXT: .. result: (pacret - state<NonAutClobRegs: , Insts: >)
56
+ // CHECK - NEXT: State 1 : pacret - state<SafeToDerefRegs: , Insts: >
57
+ // CHECK - NEXT: State 2 : pacret - state<SafeToDerefRegs: , Insts: >)
58
+ // CHECK - NEXT: merged state: pacret - state<SafeToDerefRegs: , Insts: >
59
+ // CHECK - NEXT: PacRetAnalysis::ComputeNext( hint # 29 , pacret - state<SafeToDerefRegs: , Insts: >)
60
+ // CHECK - NEXT: .. result: (pacret - state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
61
+ // CHECK - NEXT: PacRetAnalysis::ComputeNext( ret x30 , pacret - state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
62
+ // CHECK - NEXT: .. result: (pacret - state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
63
63
// CHECK - NEXT: After PacRetAnalysis:
64
64
// CHECK - NEXT: Binary Function "simple" {
65
65
// CHECK - NEXT: Number : 1
@@ -69,24 +69,23 @@ simple:
69
69
// CHECK - NEXT: }
70
70
// CHECK - NEXT: [[ BB0 ]] ( 2 instructions , align : 1 )
71
71
// CHECK - NEXT: Entry Point
72
- // CHECK - NEXT: 00000000 : paciasp # PacRetAnalysis: pacret - state<NonAutClobRegs : BitVector , Insts: >
73
- // CHECK - NEXT: 00000004 : b [[ BB1 ]] # PacRetAnalysis: pacret - state<NonAutClobRegs : BitVector , Insts: >
72
+ // CHECK - NEXT: 00000000 : paciasp # PacRetAnalysis: pacret - state<SafeToDerefRegs : BitVector , Insts: >
73
+ // CHECK - NEXT: 00000004 : b [[ BB1 ]] # PacRetAnalysis: pacret - state<SafeToDerefRegs : BitVector , Insts: >
74
74
// CHECK - NEXT: Successors: [[ BB1 ]]
75
75
// CHECK - EMPTY:
76
76
// CHECK - NEXT: [[ BB1 ]] ( 2 instructions , align : 1 )
77
77
// CHECK - NEXT: Predecessors: [[ BB0 ]]
78
- // CHECK - NEXT: 00000008 : autiasp # PacRetAnalysis: pacret - state<NonAutClobRegs : BitVector , Insts: >
79
- // CHECK - NEXT: 0000000c: ret # PacRetAnalysis: pacret - state<NonAutClobRegs : BitVector , Insts: >
78
+ // CHECK - NEXT: 00000008 : autiasp # PacRetAnalysis: pacret - state<SafeToDerefRegs : BitVector , Insts: >
79
+ // CHECK - NEXT: 0000000c: ret # PacRetAnalysis: pacret - state<SafeToDerefRegs : BitVector , Insts: >
80
80
// CHECK - EMPTY:
81
81
// CHECK - NEXT: DWARF CFI Instructions:
82
82
// CHECK - NEXT: <empty>
83
83
// CHECK - NEXT: End of Function "simple"
84
84
// CHECK - EMPTY:
85
- // CHECK - NEXT: Found RET inst: 00000000 : ret # PacRetAnalysis: pacret - state<NonAutClobRegs : BitVector , Insts: >
85
+ // CHECK - NEXT: Found RET inst: 00000000 : ret # PacRetAnalysis: pacret - state<SafeToDerefRegs : BitVector , Insts: >
86
86
// CHECK - NEXT: RetReg: LR
87
87
// CHECK - NEXT: Authenticated reg: (none)
88
- // CHECK - NEXT: NonAutClobRegs at Ret:{{ [ \t ]* $}}
89
- // CHECK - NEXT: Intersection with RetReg:{{ [ \t ]* $}}
88
+ // CHECK - NEXT: SafeToDerefRegs: LR W30 W30_HI{{ [ \t ]* $}}
90
89
91
90
.globl clobber
92
91
.type clobber , @function
@@ -97,10 +96,10 @@ clobber:
97
96
98
97
// CHECK - LABEL:Analyzing in function clobber , AllocatorId 1
99
98
// ...
100
- // CHECK: PacRetAnalysis::ComputeNext( mov w30 , # 0x0 , pacret - state<NonAutClobRegs: , Insts: >)
101
- // CHECK - NEXT: .. result: (pacret - state<NonAutClobRegs: W30 , Insts: >)
102
- // CHECK - NEXT: PacRetAnalysis::ComputeNext( ret x30 , pacret - state<NonAutClobRegs: W30 , Insts: >)
103
- // CHECK - NEXT: .. result: (pacret - state<NonAutClobRegs: W30 , Insts: >)
99
+ // CHECK: PacRetAnalysis::ComputeNext( mov w30 , # 0x0 , pacret - state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
100
+ // CHECK - NEXT: .. result: (pacret - state<SafeToDerefRegs: W30_HI , Insts: >)
101
+ // CHECK - NEXT: PacRetAnalysis::ComputeNext( ret x30 , pacret - state<SafeToDerefRegs: W30_HI , Insts: >)
102
+ // CHECK - NEXT: .. result: (pacret - state<SafeToDerefRegs: W30_HI , Insts: >)
104
103
// CHECK - NEXT: After PacRetAnalysis:
105
104
// CHECK - NEXT: Binary Function "clobber" {
106
105
// ...
@@ -109,15 +108,14 @@ clobber:
109
108
// The above output was printed after first run of analysis
110
109
111
110
// CHECK - EMPTY:
112
- // CHECK - NEXT: Found RET inst: 00000000 : ret # PacRetAnalysis: pacret - state<NonAutClobRegs : BitVector , Insts: >
111
+ // CHECK - NEXT: Found RET inst: 00000000 : ret # PacRetAnalysis: pacret - state<SafeToDerefRegs : BitVector , Insts: >
113
112
// CHECK - NEXT: RetReg: LR
114
113
// CHECK - NEXT: Authenticated reg: (none)
115
- // CHECK - NEXT: NonAutClobRegs at Ret: W30
116
- // CHECK - NEXT: Intersection with RetReg: W30
117
- // CHECK - NEXT: PacRetAnalysis::ComputeNext( mov w30 , # 0x0 , pacret - state<NonAutClobRegs: , Insts: [ 0 ] ()>)
118
- // CHECK - NEXT: .. result: (pacret - state<NonAutClobRegs: W30 , Insts: [ 0 ] (0x{{ [ 0 - 9a - f ]+ }} )>)
119
- // CHECK - NEXT: PacRetAnalysis::ComputeNext( ret x30 , pacret - state<NonAutClobRegs: W30 , Insts: [ 0 ] (0x{{ [ 0 - 9a - f ]+ }} )>)
120
- // CHECK - NEXT: .. result: (pacret - state<NonAutClobRegs: W30 , Insts: [ 0 ] (0x{{ [ 0 - 9a - f ]+ }} )>)
114
+ // CHECK - NEXT: SafeToDerefRegs: W30_HI{{ [ \t ]* $}}
115
+ // CHECK - NEXT: PacRetAnalysis::ComputeNext( mov w30 , # 0x0 , pacret - state<SafeToDerefRegs: LR W30 W30_HI , Insts: [ 0 ] ()>)
116
+ // CHECK - NEXT: .. result: (pacret - state<SafeToDerefRegs: W30_HI , Insts: [ 0 ] (0x{{ [ 0 - 9a - f ]+ }} )>)
117
+ // CHECK - NEXT: PacRetAnalysis::ComputeNext( ret x30 , pacret - state<SafeToDerefRegs: W30_HI , Insts: [ 0 ] (0x{{ [ 0 - 9a - f ]+ }} )>)
118
+ // CHECK - NEXT: .. result: (pacret - state<SafeToDerefRegs: W30_HI , Insts: [ 0 ] (0x{{ [ 0 - 9a - f ]+ }} )>)
121
119
// CHECK - NEXT: After detailed PacRetAnalysis:
122
120
// CHECK - NEXT: Binary Function "clobber" {
123
121
// ...
@@ -127,7 +125,7 @@ clobber:
127
125
// Iterating over the reports and attaching clobbering info:
128
126
129
127
// CHECK - EMPTY:
130
- // CHECK - NEXT: Attaching clobbering info to: 00000000 : ret # PacRetAnalysis: pacret - state<NonAutClobRegs : BitVector , Insts: [ 0 ] (0x{{ [ 0 - 9a - f ]+ }} )>
128
+ // CHECK - NEXT: Attaching clobbering info to: 00000000 : ret # PacRetAnalysis: pacret - state<SafeToDerefRegs : BitVector , Insts: [ 0 ] (0x{{ [ 0 - 9a - f ]+ }} )>
131
129
132
130
133
131
// CHECK - LABEL:Analyzing in function main , AllocatorId 1
0 commit comments