Skip to content

Commit d99a5b0

Browse files
committed
Update the test for debug output
1 parent efd98b4 commit d99a5b0

File tree

1 file changed

+39
-10
lines changed

1 file changed

+39
-10
lines changed

bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s

+39-10
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@
1212
.type simple,@function
1313
simple:
1414
paciasp
15+
stp x29, x30, [sp, #-0x10]!
1516
b 1f
1617
1:
18+
autiza x0
19+
blr x0
20+
ldp x29, x30, [sp], #0x10
1721
autiasp
1822
ret
1923
.size simple, .-simple
@@ -25,29 +29,41 @@ simple:
2529
// ...
2630
// CHECK: BB Layout : [[BB0:[0-9a-zA-Z.]+]], [[BB1:[0-9a-zA-Z.]+]]
2731
// CHECK-NEXT: }
28-
// CHECK-NEXT: [[BB0]] (2 instructions, align : 1)
32+
// CHECK-NEXT: [[BB0]] (3 instructions, align : 1)
2933
// CHECK-NEXT: Entry Point
3034
// CHECK-NEXT: 00000000: paciasp
31-
// CHECK-NEXT: 00000004: b [[BB1]]
35+
// CHECK-NEXT: 00000004: stp x29, x30, [sp, #-0x10]!
36+
// CHECK-NEXT: 00000008: b [[BB1]]
3237
// CHECK-NEXT: Successors: [[BB1]]
3338
// CHECK-EMPTY:
34-
// CHECK-NEXT: [[BB1]] (2 instructions, align : 1)
39+
// CHECK-NEXT: [[BB1]] (5 instructions, align : 1)
3540
// CHECK-NEXT: Predecessors: [[BB0]]
36-
// CHECK-NEXT: 00000008: autiasp
37-
// CHECK-NEXT: 0000000c: ret
41+
// CHECK-NEXT: 0000000c: autiza x0
42+
// CHECK-NEXT: 00000010: blr x0
43+
// CHECK-NEXT: 00000014: ldp x29, x30, [sp], #0x10
44+
// CHECK-NEXT: 00000018: autiasp
45+
// CHECK-NEXT: 0000001c: ret
3846
// CHECK-EMPTY:
3947
// CHECK-NEXT: DWARF CFI Instructions:
4048
// CHECK-NEXT: <empty>
4149
// CHECK-NEXT: End of Function "simple"
4250
// CHECK-EMPTY:
4351
// CHECK-NEXT: PacRetAnalysis::ComputeNext( hint #25, pacret-state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
4452
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: , Insts: >)
53+
// CHECK-NEXT: PacRetAnalysis::ComputeNext( stp x29, x30, [sp, #-0x10]!, pacret-state<SafeToDerefRegs: , Insts: >)
54+
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: , Insts: >)
4555
// CHECK-NEXT: PacRetAnalysis::ComputeNext( b [[BB1]], pacret-state<SafeToDerefRegs: , Insts: >)
4656
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: , Insts: >)
4757
// CHECK-NEXT: PacRetAnalysis::Confluence(
4858
// CHECK-NEXT: State 1: pacret-state<SafeToDerefRegs: (all), Insts: >
4959
// CHECK-NEXT: State 2: pacret-state<SafeToDerefRegs: , Insts: >)
5060
// CHECK-NEXT: merged state: pacret-state<SafeToDerefRegs: , Insts: >
61+
// CHECK-NEXT: PacRetAnalysis::ComputeNext( autiza x0, pacret-state<SafeToDerefRegs: , Insts: >)
62+
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: W0 X0 W0_HI , Insts: >)
63+
// CHECK-NEXT: PacRetAnalysis::ComputeNext( blr x0, pacret-state<SafeToDerefRegs: W0 X0 W0_HI , Insts: >)
64+
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: , Insts: >)
65+
// CHECK-NEXT: PacRetAnalysis::ComputeNext( ldp x29, x30, [sp], #0x10, pacret-state<SafeToDerefRegs: , Insts: >)
66+
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: , Insts: >)
5167
// CHECK-NEXT: PacRetAnalysis::ComputeNext( hint #29, pacret-state<SafeToDerefRegs: , Insts: >)
5268
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
5369
// CHECK-NEXT: PacRetAnalysis::ComputeNext( ret x30, pacret-state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
@@ -56,6 +72,12 @@ simple:
5672
// CHECK-NEXT: State 1: pacret-state<SafeToDerefRegs: , Insts: >
5773
// CHECK-NEXT: State 2: pacret-state<SafeToDerefRegs: , Insts: >)
5874
// CHECK-NEXT: merged state: pacret-state<SafeToDerefRegs: , Insts: >
75+
// CHECK-NEXT: PacRetAnalysis::ComputeNext( autiza x0, pacret-state<SafeToDerefRegs: , Insts: >)
76+
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: W0 X0 W0_HI , Insts: >)
77+
// CHECK-NEXT: PacRetAnalysis::ComputeNext( blr x0, pacret-state<SafeToDerefRegs: W0 X0 W0_HI , Insts: >)
78+
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: , Insts: >)
79+
// CHECK-NEXT: PacRetAnalysis::ComputeNext( ldp x29, x30, [sp], #0x10, pacret-state<SafeToDerefRegs: , Insts: >)
80+
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: , Insts: >)
5981
// CHECK-NEXT: PacRetAnalysis::ComputeNext( hint #29, pacret-state<SafeToDerefRegs: , Insts: >)
6082
// CHECK-NEXT: .. result: (pacret-state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
6183
// CHECK-NEXT: PacRetAnalysis::ComputeNext( ret x30, pacret-state<SafeToDerefRegs: LR W30 W30_HI , Insts: >)
@@ -67,21 +89,28 @@ simple:
6789
// ...
6890
// CHECK: BB Layout : [[BB0]], [[BB1]]
6991
// CHECK-NEXT: }
70-
// CHECK-NEXT: [[BB0]] (2 instructions, align : 1)
92+
// CHECK-NEXT: [[BB0]] (3 instructions, align : 1)
7193
// CHECK-NEXT: Entry Point
7294
// CHECK-NEXT: 00000000: paciasp # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
73-
// CHECK-NEXT: 00000004: b [[BB1]] # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
95+
// CHECK-NEXT: 00000004: stp x29, x30, [sp, #-0x10]! # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
96+
// CHECK-NEXT: 00000008: b [[BB1]] # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
7497
// CHECK-NEXT: Successors: [[BB1]]
7598
// CHECK-EMPTY:
76-
// CHECK-NEXT: [[BB1]] (2 instructions, align : 1)
99+
// CHECK-NEXT: [[BB1]] (5 instructions, align : 1)
77100
// CHECK-NEXT: Predecessors: [[BB0]]
78-
// CHECK-NEXT: 00000008: autiasp # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
79-
// CHECK-NEXT: 0000000c: ret # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
101+
// CHECK-NEXT: 0000000c: autiza x0 # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
102+
// CHECK-NEXT: 00000010: blr x0 # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
103+
// CHECK-NEXT: 00000014: ldp x29, x30, [sp], #0x10 # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
104+
// CHECK-NEXT: 00000018: autiasp # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
105+
// CHECK-NEXT: 0000001c: ret # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
80106
// CHECK-EMPTY:
81107
// CHECK-NEXT: DWARF CFI Instructions:
82108
// CHECK-NEXT: <empty>
83109
// CHECK-NEXT: End of Function "simple"
84110
// CHECK-EMPTY:
111+
// CHECK-NEXT: Found call inst: 00000000: blr x0 # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
112+
// CHECK-NEXT: Call destination reg: X0
113+
// CHECK-NEXT: SafeToDerefRegs: W0 X0 W0_HI{{[ \t]*$}}
85114
// CHECK-NEXT: Found RET inst: 00000000: ret # PacRetAnalysis: pacret-state<SafeToDerefRegs: BitVector, Insts: >
86115
// CHECK-NEXT: RetReg: LR
87116
// CHECK-NEXT: Authenticated reg: (none)

0 commit comments

Comments
 (0)