18
18
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
19
19
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
20
20
// CHECK - NEXT: This happens in the following basic block:
21
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
22
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
23
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
24
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
25
21
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
26
22
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
27
23
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ret
@@ -39,15 +35,11 @@ f_intermediate_overwrite1:
39
35
add x0 , x0 , # 3
40
36
autiasp
41
37
ldp x29 , x30 , [ sp ], # 16
42
- // CHECK - LABEL: GS - PACRET: non - protected ret found in function f_intermediate_overwrite1 , basic block .LBB
38
+ // CHECK - LABEL: GS - PACRET: non - protected ret found in function f_intermediate_overwrite1 , basic block {{ [ 0 - 9a - zA - Z. ]+ }}
43
39
// CHECK - NEXT: The return instruction is {{ [ 0 - 9a - f ]+ }}: ret
44
40
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
45
41
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
46
42
// CHECK - NEXT: This happens in the following basic block:
47
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
48
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
49
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
50
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
51
43
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
52
44
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autiasp
53
45
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
@@ -71,10 +63,6 @@ f_intermediate_overwrite2:
71
63
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
72
64
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: mov x30 , x0
73
65
// CHECK - NEXT: This happens in the following basic block:
74
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
75
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
76
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
77
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
78
66
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
79
67
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
80
68
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autiasp
@@ -114,10 +102,6 @@ f_intermediate_overwrite3:
114
102
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
115
103
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: mov w30 , w0
116
104
// CHECK - NEXT: This happens in the following basic block:
117
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
118
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
119
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
120
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
121
105
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
122
106
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
123
107
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autiasp
@@ -142,10 +126,6 @@ f_nonx30_ret:
142
126
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
143
127
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: mov x16 , x30
144
128
// CHECK - NEXT: This happens in the following basic block:
145
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
146
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
147
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
148
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
149
129
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
150
130
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
151
131
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x16 , x30
@@ -225,10 +205,7 @@ f_callclobbered_x30:
225
205
// CHECK - LABEL: GS - PACRET: non - protected ret found in function f_callclobbered_x30 , basic block {{ [ 0 - 9a - zA - Z. ]+ }} , at address
226
206
// CHECK - NEXT: The return instruction is {{ [ 0 - 9a - f ]+ }}: ret
227
207
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
228
- // CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: bl g@PLT
229
- // CHECK - NEXT: This happens in the following basic block:
230
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
231
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ret
208
+ // CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: bl
232
209
ret
233
210
.size f_callclobbered_x30 , . - f_callclobbered_x30
234
211
@@ -239,10 +216,7 @@ f_callclobbered_calleesaved:
239
216
// CHECK - LABEL: GS - PACRET: non - protected ret found in function f_callclobbered_calleesaved , basic block {{ [ 0 - 9a - zA - Z. ]+ }} , at address
240
217
// CHECK - NEXT: The return instruction is {{ [ 0 - 9a - f ]+ }}: ret x19
241
218
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
242
- // CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: bl g@PLT
243
- // CHECK - NEXT: This happens in the following basic block:
244
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
245
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ret x19
219
+ // CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: bl
246
220
// x19 , according to the Arm ABI (AAPCS) is a callee - saved register.
247
221
// Therefore , if function g respects the AAPCS , it should not write
248
222
// anything to x19. However , we can't know whether function g actually
@@ -330,10 +304,6 @@ f_autia1716:
330
304
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
331
305
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
332
306
// CHECK - NEXT: This happens in the following basic block:
333
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
334
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
335
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
336
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
337
307
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
338
308
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
339
309
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autia1716
@@ -356,10 +326,6 @@ f_autib1716:
356
326
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
357
327
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
358
328
// CHECK - NEXT: This happens in the following basic block:
359
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
360
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
361
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
362
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
363
329
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
364
330
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
365
331
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autib1716
@@ -382,10 +348,6 @@ f_autiax12:
382
348
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
383
349
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
384
350
// CHECK - NEXT: This happens in the following basic block:
385
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
386
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
387
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
388
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
389
351
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
390
352
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
391
353
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autia x12 , sp
@@ -408,10 +370,6 @@ f_autibx12:
408
370
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
409
371
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
410
372
// CHECK - NEXT: This happens in the following basic block:
411
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
412
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
413
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
414
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
415
373
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
416
374
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
417
375
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autib x12 , sp
@@ -463,10 +421,6 @@ f_autdax12:
463
421
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
464
422
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
465
423
// CHECK - NEXT: This happens in the following basic block:
466
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
467
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
468
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
469
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
470
424
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
471
425
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
472
426
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autda x12 , sp
@@ -489,10 +443,6 @@ f_autdbx12:
489
443
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
490
444
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
491
445
// CHECK - NEXT: This happens in the following basic block:
492
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
493
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
494
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
495
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
496
446
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
497
447
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
498
448
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autdb x12 , sp
@@ -544,10 +494,6 @@ f_autizax12:
544
494
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
545
495
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
546
496
// CHECK - NEXT: This happens in the following basic block:
547
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
548
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
549
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
550
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
551
497
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
552
498
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
553
499
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autiza x12
@@ -570,10 +516,6 @@ f_autizbx12:
570
516
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
571
517
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
572
518
// CHECK - NEXT: This happens in the following basic block:
573
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
574
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
575
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
576
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
577
519
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
578
520
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
579
521
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autizb x12
@@ -625,10 +567,6 @@ f_autdzax12:
625
567
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
626
568
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
627
569
// CHECK - NEXT: This happens in the following basic block:
628
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
629
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
630
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
631
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
632
570
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
633
571
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
634
572
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autdza x12
@@ -651,10 +589,6 @@ f_autdzbx12:
651
589
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
652
590
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
653
591
// CHECK - NEXT: This happens in the following basic block:
654
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
655
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
656
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
657
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
658
592
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
659
593
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
660
594
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autdzb x12
@@ -913,10 +847,6 @@ f_autia171615:
913
847
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
914
848
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
915
849
// CHECK - NEXT: This happens in the following basic block:
916
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
917
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
918
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
919
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
920
850
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
921
851
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
922
852
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autia171615
@@ -939,10 +869,6 @@ f_autib171615:
939
869
// CHECK - NEXT: The 1 instructions th at write to the return register after any authentication are:
940
870
// CHECK - NEXT: 1 . {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
941
871
// CHECK - NEXT: This happens in the following basic block:
942
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: paciasp
943
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: stp x29 , x30 , [ sp , # - 0x10 ] !
944
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: mov x29 , sp
945
- // CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: bl g@PLT
946
872
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: add x0 , x0 , # 0x3
947
873
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: ldp x29 , x30 , [ sp ], # 0x10
948
874
// CHECK - NEXT: {{ [ 0 - 9a - f ]+ }}: autib171615
0 commit comments