[ELF] Reorder SectionBase/InputSectionBase members
[llvm-project.git] / llvm / test / CodeGen / AArch64 / rvmarker-pseudo-expansion-and-outlining.mir
bloba3cab0c1afead26e99ad6aea702dff3f534bc1e0
1 # RUN: llc -enable-machine-outliner -start-before=aarch64-expand-pseudo -mtriple=arm64-apple-ios -o - %s | FileCheck %s
3 #  The calls to _cb1 & _cb2 should be followed by the marker instruction
4 #  'mov x29, x29' and the attached call. Neither should get outlined.
6 # CHECK-LABEL: _fn1:
7 # CHECK:       bb.0:
8 # CHECK:        bl _cb1
9 # CHECK-NEXT:   mov x29, x29
10 # CHECK-NEXT:   bl _attachedcall
11 # CHECK:        b _OUTLINED_FUNCTION_0
13 # CHECK-LABEL: _fn2:
14 # CHECK:       bb.0:
15 # CHECK:        bl _cb2
16 # CHECK-NEXT:   mov x29, x29
17 # CHECK-NEXT:   bl _attachedcall
18 # CHECK:        b _OUTLINED_FUNCTION_0
20 # CHECK-LABEL: _OUTLINED_FUNCTION_0:
21 # CHECK:       bb.0:
22 # CHECK-NEXT:    orr w12, wzr, #0x3
23 # CHECK-NEXT:    orr w12, wzr, #0x3
24 # CHECK-NEXT:    orr w12, wzr, #0x3
25 # CHECK-NEXT:    orr w12, wzr, #0x3
26 # CHECK-NEXT:    ret
28 --- |
29   target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
30   target triple = "arm64-apple-ios"
32   define void @fn1() {
33     ret void
34   }
36   define void @fn2() {
37     ret void
38   }
40   declare void @cb1()
42   declare void @cb2()
44   declare ptr @attachedcall()
45 ...
46 ---
47 name:            fn1
48 tracksRegLiveness: true
49 machineFunctionInfo:
50   hasRedZone:      false
51 body:             |
52   bb.0:
53     liveins: $lr
55     BLR_RVMARKER @attachedcall, @cb1, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $x0
56     $w12 = ORRWri $wzr, 1
57     $w12 = ORRWri $wzr, 1
58     $w12 = ORRWri $wzr, 1
59     $w12 = ORRWri $wzr, 1
60     $w12 = ORRWri $wzr, 1
61     $lr = ORRXri $xzr, 1
63     RET undef $lr
64 ...
65 ---
66 name:            fn2
67 tracksRegLiveness: true
68 machineFunctionInfo:
69   hasRedZone:      false
70 body:             |
71   bb.0:
72     liveins: $lr, $x19, $x20, $lr
74     BLR_RVMARKER @attachedcall, @cb2, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $x0
75     $w12 = ORRWri $wzr, 1
76     $w12 = ORRWri $wzr, 1
77     $w12 = ORRWri $wzr, 1
78     $w12 = ORRWri $wzr, 1
79     $w12 = ORRWri $wzr, 1
80     $lr = ORRXri $xzr, 1
82     RET undef $lr
83 ...