[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / regalloc-last-chance-recolor-with-split.mir
blobbc974156c9df8306e7bba6a5cf6733ff1a291631
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mattr="+reserve-x28" --run-pass=greedy,virtregrewriter -verify-machineinstrs %s -o - | FileCheck %s
4 # CHECK-LABEL: ham
6 --- |
7   target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
8   target triple = "aarch64-none-linux-gnu"
10   define void @ham(ptr addrspace(1) %arg) gc "statepoint-example" {
11   bb:
12     br i1 undef, label %bb27.preheader, label %bb23
14   bb27.preheader:                                   ; preds = %bb
15     br label %bb27
17   bb23:                                             ; preds = %bb
18     unreachable
20   bb27:                                             ; preds = %bb115, %bb27.preheader
21     br i1 undef, label %bb41, label %bb85
23   bb41:                                             ; preds = %bb27
24     br i1 undef, label %bb48, label %bb42
26   bb42:                                             ; preds = %bb41
27     br label %bb48
29   bb48:                                             ; preds = %bb42, %bb41
30     br label %bb79
32   bb79:                                             ; preds = %bb79, %bb48
33     br i1 undef, label %bb81, label %bb79
35   bb81:                                             ; preds = %bb79
36     br i1 undef, label %bb83, label %bb82
38   bb82:                                             ; preds = %bb81
39     br label %bb83
41   bb83:                                             ; preds = %bb82, %bb81
42     br i1 undef, label %bb105, label %bb96
44   bb85:                                             ; preds = %bb27
45     br i1 undef, label %bb86, label %bb90
47   bb86:                                             ; preds = %bb85
48     unreachable
50   bb90:                                             ; preds = %bb85
51     unreachable
53   bb94:                                             ; preds = %bb115
54     unreachable
56   bb96:                                             ; preds = %bb83
57     br label %bb105
59   bb105:                                            ; preds = %bb96, %bb83
60     br i1 undef, label %bb120, label %bb115
62   bb115:                                            ; preds = %bb105
63     br i1 undef, label %bb94, label %bb27
65   bb120:                                            ; preds = %bb105
66     unreachable
67   }
69   declare ptr addrspace(1) @bar(i64, i64, i64, ptr)
70   declare void @wombat()
71   declare void @blam.1()
72   declare void @blam(i32)
74 ...
75 ---
76 name:            ham
77 alignment:       4
78 exposesReturnsTwice: false
79 legalized:       false
80 regBankSelected: false
81 selected:        false
82 failedISel:      false
83 tracksRegLiveness: true
84 hasWinCFI:       false
85 callsEHReturn:   false
86 callsUnwindInit: false
87 hasEHCatchret:   false
88 hasEHScopes:     false
89 hasEHFunclets:   false
90 failsVerification: false
91 tracksDebugUserValues: false
92 registers:
93   - { id: 0, class: gpr32, preferred-register: '' }
94   - { id: 1, class: gpr64, preferred-register: '' }
95   - { id: 2, class: gpr32, preferred-register: '' }
96   - { id: 3, class: gpr32, preferred-register: '' }
97   - { id: 4, class: gpr64all, preferred-register: '' }
98   - { id: 5, class: gpr64sp, preferred-register: '' }
99   - { id: 6, class: gpr64all, preferred-register: '' }
100   - { id: 7, class: gpr64all, preferred-register: '' }
101   - { id: 8, class: gpr64all, preferred-register: '' }
102   - { id: 9, class: gpr64all, preferred-register: '' }
103   - { id: 10, class: gpr64sp, preferred-register: '' }
104   - { id: 11, class: gpr64sp, preferred-register: '' }
105   - { id: 12, class: gpr32sp, preferred-register: '' }
106   - { id: 13, class: gpr32, preferred-register: '' }
107   - { id: 14, class: gpr64sp, preferred-register: '' }
108   - { id: 15, class: gpr64sp, preferred-register: '' }
109   - { id: 16, class: gpr64all, preferred-register: '' }
110   - { id: 17, class: gpr64sp, preferred-register: '' }
111   - { id: 18, class: gpr64sp, preferred-register: '' }
112   - { id: 19, class: gpr64all, preferred-register: '' }
113   - { id: 20, class: gpr64all, preferred-register: '' }
114   - { id: 21, class: gpr64all, preferred-register: '' }
115   - { id: 22, class: gpr64all, preferred-register: '' }
116   - { id: 23, class: gpr64all, preferred-register: '' }
117   - { id: 24, class: gpr64all, preferred-register: '' }
118   - { id: 25, class: gpr64sp, preferred-register: '' }
119   - { id: 26, class: gpr64all, preferred-register: '' }
120   - { id: 27, class: gpr64sp, preferred-register: '' }
121   - { id: 28, class: gpr64sp, preferred-register: '' }
122   - { id: 29, class: gpr64sp, preferred-register: '' }
123   - { id: 30, class: gpr64all, preferred-register: '' }
124   - { id: 31, class: gpr64all, preferred-register: '' }
125   - { id: 32, class: gpr64sp, preferred-register: '' }
126   - { id: 33, class: gpr64sp, preferred-register: '' }
127   - { id: 34, class: gpr64, preferred-register: '' }
128   - { id: 35, class: gpr64all, preferred-register: '' }
129   - { id: 36, class: gpr64all, preferred-register: '' }
130   - { id: 37, class: gpr32common, preferred-register: '' }
131   - { id: 38, class: gpr64, preferred-register: '' }
132   - { id: 39, class: gpr32, preferred-register: '' }
133   - { id: 40, class: gpr64, preferred-register: '' }
134   - { id: 41, class: gpr32, preferred-register: '' }
135   - { id: 42, class: gpr64, preferred-register: '' }
136   - { id: 43, class: gpr64all, preferred-register: '' }
137   - { id: 44, class: gpr64all, preferred-register: '' }
138   - { id: 45, class: gpr64, preferred-register: '' }
139   - { id: 46, class: gpr64all, preferred-register: '' }
140   - { id: 47, class: gpr64all, preferred-register: '' }
141   - { id: 48, class: gpr64all, preferred-register: '' }
142   - { id: 49, class: gpr64, preferred-register: '' }
143   - { id: 50, class: gpr64all, preferred-register: '' }
144   - { id: 51, class: gpr64all, preferred-register: '' }
145   - { id: 52, class: gpr32, preferred-register: '' }
146   - { id: 53, class: gpr64all, preferred-register: '' }
147   - { id: 54, class: gpr64all, preferred-register: '' }
148   - { id: 55, class: gpr64, preferred-register: '' }
149   - { id: 56, class: gpr64all, preferred-register: '' }
150   - { id: 57, class: gpr32all, preferred-register: '' }
151   - { id: 58, class: gpr64all, preferred-register: '' }
152   - { id: 59, class: gpr32all, preferred-register: '' }
153   - { id: 60, class: gpr64all, preferred-register: '' }
154   - { id: 61, class: gpr64, preferred-register: '' }
155   - { id: 62, class: gpr64all, preferred-register: '' }
156   - { id: 63, class: gpr32all, preferred-register: '' }
157   - { id: 64, class: gpr64all, preferred-register: '' }
158   - { id: 65, class: gpr32all, preferred-register: '' }
159   - { id: 66, class: gpr64all, preferred-register: '' }
160   - { id: 67, class: gpr64, preferred-register: '' }
161   - { id: 68, class: gpr64all, preferred-register: '' }
162   - { id: 69, class: gpr32all, preferred-register: '' }
163   - { id: 70, class: gpr32, preferred-register: '' }
164   - { id: 71, class: gpr32all, preferred-register: '' }
165   - { id: 72, class: gpr64all, preferred-register: '' }
166   - { id: 73, class: gpr64all, preferred-register: '' }
167   - { id: 74, class: gpr64, preferred-register: '' }
168   - { id: 75, class: gpr64sp, preferred-register: '' }
169   - { id: 76, class: gpr32, preferred-register: '' }
170   - { id: 77, class: gpr64, preferred-register: '' }
171   - { id: 78, class: gpr64all, preferred-register: '' }
172   - { id: 79, class: gpr64all, preferred-register: '' }
173   - { id: 80, class: gpr64all, preferred-register: '' }
174   - { id: 81, class: gpr64all, preferred-register: '' }
175   - { id: 82, class: gpr64, preferred-register: '' }
176   - { id: 83, class: gpr32, preferred-register: '' }
177   - { id: 84, class: gpr32, preferred-register: '' }
178   - { id: 85, class: gpr32, preferred-register: '' }
179   - { id: 86, class: gpr32, preferred-register: '' }
180   - { id: 87, class: gpr32, preferred-register: '' }
181   - { id: 88, class: gpr64sp, preferred-register: '' }
182   - { id: 89, class: gpr32, preferred-register: '' }
183   - { id: 90, class: gpr32, preferred-register: '' }
184   - { id: 91, class: gpr32all, preferred-register: '' }
185   - { id: 92, class: gpr32, preferred-register: '' }
186   - { id: 93, class: gpr64, preferred-register: '' }
187   - { id: 94, class: gpr64all, preferred-register: '' }
188   - { id: 95, class: gpr64, preferred-register: '' }
189   - { id: 96, class: gpr32, preferred-register: '' }
190   - { id: 97, class: gpr32, preferred-register: '' }
191   - { id: 98, class: gpr64all, preferred-register: '' }
192   - { id: 99, class: gpr64all, preferred-register: '' }
193   - { id: 100, class: gpr64all, preferred-register: '' }
194   - { id: 101, class: gpr64all, preferred-register: '' }
195   - { id: 102, class: gpr64, preferred-register: '' }
196   - { id: 103, class: gpr64sp, preferred-register: '' }
197   - { id: 104, class: gpr64all, preferred-register: '' }
198   - { id: 105, class: gpr32, preferred-register: '' }
199   - { id: 106, class: gpr64, preferred-register: '' }
200   - { id: 107, class: gpr32, preferred-register: '' }
201   - { id: 108, class: gpr32, preferred-register: '' }
202   - { id: 109, class: gpr64all, preferred-register: '' }
203   - { id: 110, class: gpr64all, preferred-register: '' }
204   - { id: 111, class: gpr64, preferred-register: '' }
205   - { id: 112, class: gpr64sp, preferred-register: '' }
206   - { id: 113, class: gpr64sp, preferred-register: '' }
207   - { id: 114, class: gpr32, preferred-register: '' }
208   - { id: 115, class: gpr64sp, preferred-register: '' }
209   - { id: 116, class: gpr32, preferred-register: '' }
210   - { id: 117, class: gpr32, preferred-register: '' }
211   - { id: 118, class: gpr32common, preferred-register: '' }
212   - { id: 119, class: gpr64, preferred-register: '' }
213   - { id: 120, class: gpr32, preferred-register: '' }
214   - { id: 121, class: gpr32, preferred-register: '' }
215   - { id: 122, class: gpr64sp, preferred-register: '' }
216   - { id: 123, class: gpr64sp, preferred-register: '' }
217   - { id: 124, class: gpr64sp, preferred-register: '' }
218   - { id: 125, class: gpr64sp, preferred-register: '' }
219   - { id: 126, class: gpr64, preferred-register: '' }
220   - { id: 127, class: gpr64sp, preferred-register: '' }
221   - { id: 128, class: gpr64all, preferred-register: '' }
222   - { id: 129, class: gpr64common, preferred-register: '' }
223   - { id: 130, class: gpr32common, preferred-register: '' }
224   - { id: 131, class: gpr32all, preferred-register: '' }
225   - { id: 132, class: gpr64sp, preferred-register: '' }
226   - { id: 133, class: gpr64all, preferred-register: '' }
227   - { id: 134, class: gpr64all, preferred-register: '' }
228   - { id: 135, class: gpr64all, preferred-register: '' }
229   - { id: 136, class: gpr64all, preferred-register: '' }
230   - { id: 137, class: gpr64all, preferred-register: '' }
231   - { id: 138, class: gpr64all, preferred-register: '' }
232   - { id: 139, class: gpr64all, preferred-register: '' }
233   - { id: 140, class: gpr64all, preferred-register: '' }
234   - { id: 141, class: gpr64sp, preferred-register: '' }
235   - { id: 142, class: gpr64sp, preferred-register: '' }
236   - { id: 143, class: gpr64, preferred-register: '' }
237   - { id: 144, class: gpr64all, preferred-register: '' }
238   - { id: 145, class: gpr64all, preferred-register: '' }
239 liveins:
240   - { reg: '$x0', virtual-reg: '%38' }
241 frameInfo:
242   isFrameAddressTaken: false
243   isReturnAddressTaken: false
244   hasStackMap:     false
245   hasPatchPoint:   false
246   stackSize:       0
247   offsetAdjustment: 0
248   maxAlignment:    1
249   adjustsStack:    true
250   hasCalls:        true
251   stackProtector:  ''
252   functionContext: ''
253   maxCallFrameSize: 0
254   cvBytesOfCalleeSavedRegisters: 0
255   hasOpaqueSPAdjustment: false
256   hasVAStart:      false
257   hasMustTailInVarArgFunc: false
258   hasTailCall:     false
259   localFrameSize:  0
260   savePoint:       ''
261   restorePoint:    ''
262 fixedStack:      []
263 stack:           []
264 callSites:       []
265 debugValueSubstitutions: []
266 constants:       []
267 machineFunctionInfo: {}
268 body:             |
269   ; CHECK-LABEL: name: ham
270   ; CHECK: bb.0.bb:
271   ; CHECK-NEXT:   successors: %bb.1(0x80000000), %bb.2(0x00000000)
272   ; CHECK-NEXT:   liveins: $x0
273   ; CHECK-NEXT: {{  $}}
274   ; CHECK-NEXT:   STRXui $x0, %stack.0, 0 :: (store (s64) into %stack.0)
275   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
276   ; CHECK-NEXT:   dead $w1 = MOVi32imm 526, implicit-def $x1
277   ; CHECK-NEXT:   dead $w2 = MOVi32imm 2, implicit-def $x2
278   ; CHECK-NEXT:   renamable $w19 = MOVi32imm 2, implicit-def $x19
279   ; CHECK-NEXT:   STATEPOINT 2882400000, 0, 4, @bar, undef $x0, $x1, $x2, undef $x3, 2, 0, 2, 4, 2, 39, 2, 0, 2, 1, 2, 0, 2, 42, 2, 2, 2, 14, 2, 0, 2, 3, 2, 400, 2, 3, 2, 400, 2, 0, 1, 8, %stack.0, 0, 2, 7, 2, 0, 2, 3, 2, 95, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 1, 1, 8, %stack.0, 0, 2, 0, 2, 1, 0, 0, csr_aarch64_aapcs, implicit-def $sp, implicit-def $x0, implicit-def dead early-clobber $lr :: (load store (s64) on %stack.0)
280   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
281   ; CHECK-NEXT:   renamable $x20 = COPY $x0
282   ; CHECK-NEXT:   DMB 11
283   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
284   ; CHECK-NEXT:   renamable $x20 = STATEPOINT 2, 4, 1, undef renamable $x0, undef $x0, 2, 0, 2, 4, 2, 35, 2, 0, 2, 2, 2, 0, 2, 48, 2, 0, 2, 14, 2, 0, 2, 0, 1, 8, %stack.0, 0, 2, 7, 2, 0, 2, 3, 2, 95, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, killed renamable $x20, 2, 7, 2, 0, 2, 2, renamable $x20(tied-def 0), 1, 8, %stack.0, 0, 2, 0, 2, 2, 0, 0, 1, 1, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead $x0, implicit-def dead early-clobber $lr :: (load store (s64) on %stack.0)
285   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
286   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
287   ; CHECK-NEXT:   $w1 = MOVi32imm 33333
288   ; CHECK-NEXT:   renamable $x20 = STATEPOINT 2, 4, 2, undef renamable $x0, undef $x0, $w1, 2, 0, 2, 0, 2, 41, 2, 0, 2, 2, 2, 0, 2, 73, 2, 3, 2, 14, 2, 0, 2, 3, 2, 95, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 1, 8, %stack.0, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, killed renamable $x20, 2, 7, 2, 0, 2, 3, renamable $x20(tied-def 0), 1, 8, %stack.0, 0, 2, 4278124286, 2, 0, 2, 3, 0, 0, 1, 1, 2, 2, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead $w0, implicit-def dead early-clobber $lr :: (load store (s64) on %stack.0)
289   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
290   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
291   ; CHECK-NEXT:   renamable $x20 = STATEPOINT 2, 4, 2, undef renamable $x0, undef $x0, undef $w1, 2, 0, 2, 0, 2, 39, 2, 0, 2, 2, 2, 0, 2, 78, 2, 2, 2, 14, 2, 0, 2, 3, 2, 95, 2, 0, 2, 4278124286, 2, 0, 1, 8, %stack.0, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, killed renamable $x20, 2, 7, 2, 0, 2, 3, renamable $x20(tied-def 0), 1, 8, %stack.0, 0, 2, 4278124286, 2, 0, 2, 3, 0, 0, 1, 1, 2, 2, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead $w0, implicit-def dead early-clobber $lr :: (load store (s64) on %stack.0)
292   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
293   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
294   ; CHECK-NEXT:   renamable $x20 = STATEPOINT 2, 4, 2, undef renamable $x0, undef $x0, undef $w1, 2, 0, 2, 0, 2, 37, 2, 0, 2, 2, 2, 0, 2, 83, 2, 1, 2, 14, 2, 0, 2, 3, 2, 95, 2, 0, 1, 8, %stack.0, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, killed renamable $x20, 2, 7, 2, 0, 2, 2, renamable $x20(tied-def 0), 1, 8, %stack.0, 0, 2, 0, 2, 2, 0, 0, 1, 1, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead $w0, implicit-def dead early-clobber $lr :: (load store (s64) on %stack.0)
295   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
296   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
297   ; CHECK-NEXT:   dead renamable $x20 = STATEPOINT 2, 4, 1, undef renamable $x0, undef $w0, 2, 0, 2, 0, 2, 35, 2, 0, 2, 2, 2, 0, 2, 95, 2, 0, 2, 14, 2, 0, 2, 0, 1, 8, %stack.0, 0, 2, 7, 2, 0, 2, 3, 2, 95, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, killed renamable $x20, 2, 7, 2, 0, 2, 2, 1, 8, %stack.0, 0, renamable $x20(tied-def 0), 2, 0, 2, 2, 0, 0, 1, 1, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr :: (load store (s64) on %stack.0)
298   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
299   ; CHECK-NEXT:   CBNZW $wzr, %bb.2
300   ; CHECK-NEXT:   B %bb.1
301   ; CHECK-NEXT: {{  $}}
302   ; CHECK-NEXT: bb.1.bb27.preheader:
303   ; CHECK-NEXT:   successors: %bb.3(0x80000000)
304   ; CHECK-NEXT: {{  $}}
305   ; CHECK-NEXT:   renamable $x20 = LDRXui undef renamable $x8, 0 :: (load unordered (s64) from `ptr addrspace(1) undef`, addrspace 1)
306   ; CHECK-NEXT:   renamable $w21 = MOVi32imm -8280
307   ; CHECK-NEXT:   renamable $w23 = MOVi32imm -6
308   ; CHECK-NEXT:   renamable $w25 = MOVi32imm 3, implicit-def $x25
309   ; CHECK-NEXT:   renamable $w24 = MOVi32imm 2143289344
310   ; CHECK-NEXT:   renamable $x22 = IMPLICIT_DEF
311   ; CHECK-NEXT:   dead renamable $x8 = IMPLICIT_DEF
312   ; CHECK-NEXT:   renamable $x26 = IMPLICIT_DEF
313   ; CHECK-NEXT:   renamable $x19 = IMPLICIT_DEF
314   ; CHECK-NEXT:   renamable $x27 = IMPLICIT_DEF
315   ; CHECK-NEXT:   renamable $x8 = IMPLICIT_DEF
316   ; CHECK-NEXT:   KILL killed renamable $x8
317   ; CHECK-NEXT:   renamable $x8 = IMPLICIT_DEF
318   ; CHECK-NEXT:   KILL killed renamable $x8
319   ; CHECK-NEXT:   renamable $w10 = MOVi32imm 2, implicit-def $x10
320   ; CHECK-NEXT:   B %bb.3
321   ; CHECK-NEXT: {{  $}}
322   ; CHECK-NEXT: bb.2.bb23:
323   ; CHECK-NEXT:   successors:
324   ; CHECK-NEXT:   liveins: $x19
325   ; CHECK-NEXT: {{  $}}
326   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
327   ; CHECK-NEXT:   renamable $w20 = MOVi32imm 95
328   ; CHECK-NEXT:   STATEPOINT 2882400000, 0, 0, @wombat, 2, 0, 2, 0, 2, 39, 2, 0, 2, 1, 2, 0, 2, 117, 2, 2, 2, 14, 2, 0, 2, 3, 2, 3, 2, 3, 2, 109, 2, 0, 1, 8, %stack.0, 0, 2, 7, 2, 0, 2, 3, killed renamable $w20, 2, 3, renamable $w19, 2, 3, 2, 3, 2, 3, 2, -8280, 2, 7, 2, 0, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 2, 1, 8, %stack.0, 0, 2, 4278124286, 2, 0, 2, 2, 0, 0, 1, 1, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr, implicit killed $x19 :: (load store (s64) on %stack.0)
329   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
330   ; CHECK-NEXT: {{  $}}
331   ; CHECK-NEXT: bb.3.bb27:
332   ; CHECK-NEXT:   successors: %bb.4(0x80000000), %bb.13(0x00000000)
333   ; CHECK-NEXT:   liveins: $w21, $w23, $w24, $x10, $x19, $x20, $x22, $x25, $x26, $x27
334   ; CHECK-NEXT: {{  $}}
335   ; CHECK-NEXT:   renamable $fp = nuw nsw ADDXri renamable $x25, 1, 0
336   ; CHECK-NEXT:   CBNZW $wzr, %bb.13
337   ; CHECK-NEXT:   B %bb.4
338   ; CHECK-NEXT: {{  $}}
339   ; CHECK-NEXT: bb.4.bb41:
340   ; CHECK-NEXT:   successors: %bb.5(0x7ffff777), %bb.6(0x00000889)
341   ; CHECK-NEXT:   liveins: $fp, $w21, $w23, $w24, $x10, $x19, $x20, $x22, $x25, $x26, $x27
342   ; CHECK-NEXT: {{  $}}
343   ; CHECK-NEXT:   CBZW $wzr, %bb.6
344   ; CHECK-NEXT: {{  $}}
345   ; CHECK-NEXT: bb.5:
346   ; CHECK-NEXT:   successors: %bb.7(0x80000000)
347   ; CHECK-NEXT:   liveins: $fp, $w23, $w24, $x10, $x19, $x20, $x22, $x25, $x26, $x27
348   ; CHECK-NEXT: {{  $}}
349   ; CHECK-NEXT:   B %bb.7
350   ; CHECK-NEXT: {{  $}}
351   ; CHECK-NEXT: bb.6.bb42:
352   ; CHECK-NEXT:   successors: %bb.7(0x80000000)
353   ; CHECK-NEXT:   liveins: $fp, $w21, $w23, $w24, $x20, $x25, $x27
354   ; CHECK-NEXT: {{  $}}
355   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
356   ; CHECK-NEXT:   renamable $x19 = LDRXui %stack.0, 0 :: (load (s64) from %stack.0)
357   ; CHECK-NEXT:   renamable $w22 = MOVi32imm 2, implicit-def $x22
358   ; CHECK-NEXT:   renamable $w26 = MOVi32imm 95
359   ; CHECK-NEXT:   renamable $x27, dead renamable $x19 = STATEPOINT 2882400000, 0, 0, @wombat, 2, 0, 2, 0, 2, 35, 2, 0, 2, 1, 2, 0, 2, 125, 2, 0, 2, 14, 2, 0, 2, 0, killed renamable $x19, 2, 7, 2, 0, 2, 3, killed renamable $w26, 2, 3, renamable $w22, 2, 3, 2, 4278124286, 2, 3, killed renamable $w21, 2, 7, 2, 0, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 2, 2, 7, 2, 0, 2, 3, 2, 4278124286, 2, 0, 1, 8, %stack.1, 0, 2, 7, 2, 0, 2, 3, killed renamable $x27(tied-def 0), 1, 8, %stack.1, 0, renamable $x19(tied-def 1), 2, 0, 2, 3, 0, 0, 1, 1, 2, 2, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr, implicit killed $x22 :: (load store (s64) on %stack.1)
360   ; CHECK-NEXT:   renamable $w10 = MOVi32imm 2, implicit-def $x10
361   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
362   ; CHECK-NEXT:   renamable $x19 = COPY $xzr
363   ; CHECK-NEXT:   renamable $x8 = LDRXui %stack.1, 0 :: (load (s64) from %stack.1)
364   ; CHECK-NEXT:   dead renamable $x8 = nuw ADDXri killed renamable $x8, 24, 0
365   ; CHECK-NEXT:   renamable $x22 = IMPLICIT_DEF
366   ; CHECK-NEXT:   renamable $x26 = IMPLICIT_DEF
367   ; CHECK-NEXT:   renamable $x8 = IMPLICIT_DEF
368   ; CHECK-NEXT:   KILL killed renamable $x8
369   ; CHECK-NEXT: {{  $}}
370   ; CHECK-NEXT: bb.7.bb48:
371   ; CHECK-NEXT:   successors: %bb.8(0x80000000)
372   ; CHECK-NEXT:   liveins: $fp, $w23, $w24, $x10, $x19, $x20, $x22, $x25, $x26, $x27
373   ; CHECK-NEXT: {{  $}}
374   ; CHECK-NEXT: {{  $}}
375   ; CHECK-NEXT: bb.8.bb79:
376   ; CHECK-NEXT:   successors: %bb.9(0x04000000), %bb.8(0x7c000000)
377   ; CHECK-NEXT:   liveins: $fp, $w23, $w24, $x10, $x19, $x20, $x22, $x25, $x26, $x27
378   ; CHECK-NEXT: {{  $}}
379   ; CHECK-NEXT:   CBNZW $wzr, %bb.8
380   ; CHECK-NEXT:   B %bb.9
381   ; CHECK-NEXT: {{  $}}
382   ; CHECK-NEXT: bb.9.bb81:
383   ; CHECK-NEXT:   successors: %bb.11(0x78787f1d), %bb.10(0x078780e3)
384   ; CHECK-NEXT:   liveins: $fp, $w23, $w24, $x10, $x19, $x20, $x22, $x25, $x26, $x27
385   ; CHECK-NEXT: {{  $}}
386   ; CHECK-NEXT:   STRXui $xzr, renamable $x22, 0 :: (store unordered (s64), addrspace 1)
387   ; CHECK-NEXT:   CBNZW $wzr, %bb.11
388   ; CHECK-NEXT:   B %bb.10
389   ; CHECK-NEXT: {{  $}}
390   ; CHECK-NEXT: bb.10.bb82:
391   ; CHECK-NEXT:   successors: %bb.11(0x80000000)
392   ; CHECK-NEXT:   liveins: $fp, $w23, $w24, $x19, $x20, $x22, $x25, $x26, $x27
393   ; CHECK-NEXT: {{  $}}
394   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
395   ; CHECK-NEXT:   BL @blam.1, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp
396   ; CHECK-NEXT:   renamable $w10 = MOVi32imm 2, implicit-def $x10
397   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
398   ; CHECK-NEXT: {{  $}}
399   ; CHECK-NEXT: bb.11.bb83:
400   ; CHECK-NEXT:   successors: %bb.12(0x7ffff777), %bb.17(0x00000889)
401   ; CHECK-NEXT:   liveins: $fp, $w23, $w24, $x10, $x19, $x20, $x22, $x25, $x26, $x27
402   ; CHECK-NEXT: {{  $}}
403   ; CHECK-NEXT:   CBZW $wzr, %bb.17
404   ; CHECK-NEXT: {{  $}}
405   ; CHECK-NEXT: bb.12:
406   ; CHECK-NEXT:   successors: %bb.18(0x80000000)
407   ; CHECK-NEXT:   liveins: $fp, $w23, $w24, $x10, $x19, $x20, $x22, $x25, $x26, $x27
408   ; CHECK-NEXT: {{  $}}
409   ; CHECK-NEXT:   B %bb.18
410   ; CHECK-NEXT: {{  $}}
411   ; CHECK-NEXT: bb.13.bb85:
412   ; CHECK-NEXT:   successors: %bb.14(0x40000000), %bb.15(0x40000000)
413   ; CHECK-NEXT:   liveins: $fp, $w21, $x10
414   ; CHECK-NEXT: {{  $}}
415   ; CHECK-NEXT:   CBNZW $wzr, %bb.15
416   ; CHECK-NEXT:   B %bb.14
417   ; CHECK-NEXT: {{  $}}
418   ; CHECK-NEXT: bb.14.bb86:
419   ; CHECK-NEXT:   successors:{{  $}}
420   ; CHECK-NEXT: {{  $}}
421   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
422   ; CHECK-NEXT:   $w0 = MOVi32imm 10
423   ; CHECK-NEXT:   STATEPOINT 2882400000, 0, 1, @blam, $w0, 2, 0, 2, 0, 2, 41, 2, 0, 2, 1, 2, 0, 2, 237, 2, 3, 2, 14, 2, 0, 2, 0, 2, 0, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 0, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 0, 2, 0, 2, 7, 2, 0, 2, 1, 2, 0, 2, 0, 2, 1, 0, 0, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr
424   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
425   ; CHECK-NEXT: {{  $}}
426   ; CHECK-NEXT: bb.15.bb90:
427   ; CHECK-NEXT:   successors:{{  $}}
428   ; CHECK-NEXT:   liveins: $fp, $w21, $x10
429   ; CHECK-NEXT: {{  $}}
430   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
431   ; CHECK-NEXT:   $w0 = MOVi32imm 12
432   ; CHECK-NEXT:   renamable $w8 = MOVi32imm 95
433   ; CHECK-NEXT:   STATEPOINT 2882400000, 0, 1, @blam, $w0, 2, 129, 2, 0, 2, 43, 2, 0, 2, 1, 2, 0, 2, 201, 2, 4, 2, 14, 2, 0, 2, 0, 2, 4278124286, 2, 3, renamable $w29, 2, 0, 2, 4278124286, 2, 3, renamable $w29, 2, 0, 1, 8, %stack.0, 0, 2, 7, 2, 0, 2, 3, killed renamable $w8, 2, 3, renamable $w10, 2, 3, 2, 4278124286, 2, 3, killed renamable $w21, 2, 7, 2, 0, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 2, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 1, 8, %stack.1, 0, 2, 7, 2, 0, 2, 3, 2, 4278124286, 1, 8, %stack.0, 0, 1, 8, %stack.1, 0, 2, 0, 2, 3, 0, 0, 1, 1, 2, 2, csr_aarch64_allregs, implicit-def $sp, implicit-def dead early-clobber $lr, implicit killed $x10, implicit killed $fp :: (load store (s64) on %stack.0), (load store (s64) on %stack.1)
434   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
435   ; CHECK-NEXT: {{  $}}
436   ; CHECK-NEXT: bb.16.bb94:
437   ; CHECK-NEXT:   successors:{{  $}}
438   ; CHECK-NEXT: {{  $}}
439   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
440   ; CHECK-NEXT:   $w0 = MOVi32imm 10
441   ; CHECK-NEXT:   STATEPOINT 2882400000, 0, 1, @blam, $w0, 2, 0, 2, 0, 2, 39, 2, 0, 2, 1, 2, 0, 2, 395, 2, 2, 2, 14, 2, 0, 2, 0, 2, 0, 2, 3, 2, 0, 2, 0, 2, 0, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 0, 2, 0, 2, 7, 2, 0, 2, 1, 2, 0, 2, 0, 2, 1, 0, 0, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr
442   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
443   ; CHECK-NEXT: {{  $}}
444   ; CHECK-NEXT: bb.17.bb96:
445   ; CHECK-NEXT:   successors: %bb.18(0x80000000)
446   ; CHECK-NEXT:   liveins: $fp, $w23, $w24, $x20, $x25, $x27
447   ; CHECK-NEXT: {{  $}}
448   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
449   ; CHECK-NEXT:   renamable $x19 = LDRXui %stack.0, 0 :: (load (s64) from %stack.0)
450   ; CHECK-NEXT:   renamable $w21 = MOVi32imm 2, implicit-def $x21
451   ; CHECK-NEXT:   renamable $w22 = MOVi32imm 95
452   ; CHECK-NEXT:   renamable $x27, dead renamable $x19 = STATEPOINT 2882400000, 0, 0, @wombat, 2, 0, 2, 0, 2, 35, 2, 0, 2, 1, 2, 0, 2, 250, 2, 0, 2, 14, 2, 0, 2, 0, killed renamable $x19, 2, 7, 2, 0, 2, 3, killed renamable $w22, 2, 3, renamable $w21, 2, 3, 2, 4278124286, 2, 3, renamable $w21, 2, 7, 2, 0, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 0, 2, 7, 2, 0, 2, 3, 2, 4278124286, 2, 0, 1, 8, %stack.1, 0, 2, 7, 2, 0, 2, 4, 1, 8, %stack.2, 0, killed renamable $x27(tied-def 0), 1, 8, %stack.1, 0, renamable $x19(tied-def 1), 2, 0, 2, 4, 0, 0, 1, 1, 2, 2, 3, 3, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr, implicit killed $x21 :: (load store (s64) on %stack.1), (load store (s64) on %stack.2)
453   ; CHECK-NEXT:   renamable $w10 = MOVi32imm 2, implicit-def $x10
454   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
455   ; CHECK-NEXT:   renamable $x8 = LDRXui %stack.1, 0 :: (load (s64) from %stack.1)
456   ; CHECK-NEXT:   dead renamable $x8 = nuw ADDXri killed renamable $x8, 24, 0
457   ; CHECK-NEXT:   renamable $x8 = LDRXui %stack.2, 0 :: (load (s64) from %stack.2)
458   ; CHECK-NEXT:   renamable $x22 = nuw ADDXri killed renamable $x8, 848, 0
459   ; CHECK-NEXT:   renamable $x26 = IMPLICIT_DEF
460   ; CHECK-NEXT:   renamable $x19 = IMPLICIT_DEF
461   ; CHECK-NEXT: {{  $}}
462   ; CHECK-NEXT: bb.18.bb105:
463   ; CHECK-NEXT:   successors: %bb.20(0x00000000), %bb.19(0x80000000)
464   ; CHECK-NEXT:   liveins: $fp, $w23, $w24, $x10, $x19, $x20, $x22, $x25, $x26, $x27
465   ; CHECK-NEXT: {{  $}}
466   ; CHECK-NEXT:   STRWui renamable $w20, renamable $x19, 0 :: (store unordered (s32), addrspace 1)
467   ; CHECK-NEXT:   STRWui renamable $w24, renamable $x26, 0 :: (store unordered (s32), align 8, addrspace 1)
468   ; CHECK-NEXT:   CBZX renamable $x27, %bb.20
469   ; CHECK-NEXT:   B %bb.19
470   ; CHECK-NEXT: {{  $}}
471   ; CHECK-NEXT: bb.19.bb115:
472   ; CHECK-NEXT:   successors: %bb.16(0x00000000), %bb.3(0x80000000)
473   ; CHECK-NEXT:   liveins: $fp, $w23, $w24, $x10, $x19, $x20, $x22, $x25, $x26, $x27
474   ; CHECK-NEXT: {{  $}}
475   ; CHECK-NEXT:   renamable $x8 = COPY $xzr
476   ; CHECK-NEXT:   renamable $w9 = LDRWui renamable $x8, 0 :: (load unordered (s32) from `ptr addrspace(1) null`, addrspace 1)
477   ; CHECK-NEXT:   renamable $w9 = MADDWrrr killed renamable $w9, renamable $w10, $wzr
478   ; CHECK-NEXT:   renamable $w23 = nsw SUBWri killed renamable $w23, 2, 0
479   ; CHECK-NEXT:   dead $xzr = SUBSXri killed renamable $x25, 107, 0, implicit-def $nzcv
480   ; CHECK-NEXT:   renamable $x25 = COPY killed renamable $fp
481   ; CHECK-NEXT:   renamable $w21 = MOVi32imm 2
482   ; CHECK-NEXT:   STRWui killed renamable $w9, killed renamable $x8, 0 :: (store unordered (s32) into `ptr addrspace(1) null`, addrspace 1)
483   ; CHECK-NEXT:   Bcc 8, %bb.16, implicit killed $nzcv
484   ; CHECK-NEXT:   B %bb.3
485   ; CHECK-NEXT: {{  $}}
486   ; CHECK-NEXT: bb.20.bb120:
487   ; CHECK-NEXT:   liveins: $x10
488   ; CHECK-NEXT: {{  $}}
489   ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
490   ; CHECK-NEXT:   $w0 = MOVi32imm 10
491   ; CHECK-NEXT:   STATEPOINT 2882400000, 0, 1, @blam, $w0, 2, 129, 2, 0, 2, 39, 2, 0, 2, 1, 2, 0, 2, 272, 2, 2, 2, 14, 2, 0, 2, 0, 2, 0, 2, 3, renamable $w10, 2, 0, 2, 0, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 0, 2, 0, 2, 7, 2, 0, 2, 1, 2, 0, 2, 0, 2, 1, 0, 0, csr_aarch64_allregs, implicit-def $sp, implicit-def dead early-clobber $lr, implicit killed $x10
492   ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
493   bb.0.bb:
494     successors: %bb.1(0x80000000), %bb.2(0x00000000)
495     liveins: $x0
497     %49:gpr64 = COPY $x0
498     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
499     dead $w1 = MOVi32imm 526, implicit-def $x1
500     dead $w2 = MOVi32imm 2, implicit-def $x2
501     undef %42.sub_32:gpr64 = MOVi32imm 2
502     %49:gpr64 = STATEPOINT 2882400000, 0, 4, @bar, undef $x0, killed $x1, killed $x2, undef $x3, 2, 0, 2, 4, 2, 39, 2, 0, 2, 1, 2, 0, 2, 42, 2, 2, 2, 14, 2, 0, 2, 3, 2, 400, 2, 3, 2, 400, 2, 0, %49, 2, 7, 2, 0, 2, 3, 2, 95, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 1, %49(tied-def 0), 2, 0, 2, 1, 0, 0, csr_aarch64_aapcs, implicit-def $sp, implicit-def $x0, implicit-def dead early-clobber $lr
503     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
504     %54:gpr64all = COPY $x0
505     DMB 11
506     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
507     %54:gpr64all, %49:gpr64 = STATEPOINT 2, 4, 1, undef %50:gpr64all, undef $x0, 2, 0, 2, 4, 2, 35, 2, 0, 2, 2, 2, 0, 2, 48, 2, 0, 2, 14, 2, 0, 2, 0, %49, 2, 7, 2, 0, 2, 3, 2, 95, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, %54, 2, 7, 2, 0, 2, 2, %54(tied-def 0), %49(tied-def 1), 2, 0, 2, 2, 0, 0, 1, 1, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead $x0, implicit-def dead early-clobber $lr
508     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
509     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
510     $w1 = MOVi32imm 33333
511     %54:gpr64all, %49:gpr64 = STATEPOINT 2, 4, 2, undef %56:gpr64all, undef $x0, killed $w1, 2, 0, 2, 0, 2, 41, 2, 0, 2, 2, 2, 0, 2, 73, 2, 3, 2, 14, 2, 0, 2, 3, 2, 95, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, %49, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, %54, 2, 7, 2, 0, 2, 3, %54(tied-def 0), %49(tied-def 1), 2, 4278124286, 2, 0, 2, 3, 0, 0, 1, 1, 2, 2, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead $w0, implicit-def dead early-clobber $lr
512     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
513     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
514     %54:gpr64all, %49:gpr64 = STATEPOINT 2, 4, 2, undef %62:gpr64all, undef $x0, undef $w1, 2, 0, 2, 0, 2, 39, 2, 0, 2, 2, 2, 0, 2, 78, 2, 2, 2, 14, 2, 0, 2, 3, 2, 95, 2, 0, 2, 4278124286, 2, 0, %49, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, %54, 2, 7, 2, 0, 2, 3, %54(tied-def 0), %49(tied-def 1), 2, 4278124286, 2, 0, 2, 3, 0, 0, 1, 1, 2, 2, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead $w0, implicit-def dead early-clobber $lr
515     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
516     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
517     %54:gpr64all, %49:gpr64 = STATEPOINT 2, 4, 2, undef %68:gpr64all, undef $x0, undef $w1, 2, 0, 2, 0, 2, 37, 2, 0, 2, 2, 2, 0, 2, 83, 2, 1, 2, 14, 2, 0, 2, 3, 2, 95, 2, 0, %49, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, %54, 2, 7, 2, 0, 2, 2, %54(tied-def 0), %49(tied-def 1), 2, 0, 2, 2, 0, 0, 1, 1, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead $w0, implicit-def dead early-clobber $lr
518     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
519     %0:gpr32 = MOVi32imm 95
520     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
521     %49:gpr64, dead %54:gpr64all = STATEPOINT 2, 4, 1, undef %73:gpr64all, undef $w0, 2, 0, 2, 0, 2, 35, 2, 0, 2, 2, 2, 0, 2, 95, 2, 0, 2, 14, 2, 0, 2, 0, %49, 2, 7, 2, 0, 2, 3, 2, 95, 2, 7, 2, 0, 2, 3, 2, -11, 2, 3, 2, -8280, 2, 3, 2, 45, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, %54, 2, 7, 2, 0, 2, 2, %49(tied-def 0), %54(tied-def 1), 2, 0, 2, 2, 0, 0, 1, 1, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr
522     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
523     CBNZW $wzr, %bb.2
524     B %bb.1
526   bb.1.bb27.preheader:
527     successors: %bb.3(0x80000000)
529     %74:gpr64 = LDRXui undef %75:gpr64sp, 0 :: (load unordered (s64) from `ptr addrspace(1) undef`, addrspace 1)
530     %13:gpr32 = MOVi32imm -8280
531     %130:gpr32common = MOVi32imm -6
532     undef %129.sub_32:gpr64common = MOVi32imm 3
533     %114:gpr32 = MOVi32imm 2143289344
534     %122:gpr64sp = IMPLICIT_DEF
535     %123:gpr64sp = IMPLICIT_DEF
536     %124:gpr64sp = IMPLICIT_DEF
537     %125:gpr64sp = IMPLICIT_DEF
538     %126:gpr64 = IMPLICIT_DEF
539     %127:gpr64sp = IMPLICIT_DEF
540     %10:gpr64sp = IMPLICIT_DEF
541     B %bb.3
543   bb.2.bb23:
544     successors:
546     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
547     dead %49:gpr64 = STATEPOINT 2882400000, 0, 0, @wombat, 2, 0, 2, 0, 2, 39, 2, 0, 2, 1, 2, 0, 2, 117, 2, 2, 2, 14, 2, 0, 2, 3, 2, 3, 2, 3, 2, 109, 2, 0, %49, 2, 7, 2, 0, 2, 3, %0, 2, 3, %42.sub_32, 2, 3, 2, 3, 2, 3, 2, -8280, 2, 7, 2, 0, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 5, 2, 7, 2, 0, 2, 3, 2, 1, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 2, %49(tied-def 0), 2, 4278124286, 2, 0, 2, 2, 0, 0, 1, 1, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr
548     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
550   bb.3.bb27:
551     successors: %bb.4(0x80000000), %bb.11(0x00000000)
553     %14:gpr64sp = nuw nsw ADDXri %129, 1, 0
554     CBNZW $wzr, %bb.11
555     B %bb.4
557   bb.4.bb41:
558     successors: %bb.19(0x7ffff777), %bb.5(0x00000889)
560     CBZW $wzr, %bb.5
562   bb.19:
563     successors: %bb.6(0x80000000)
565     B %bb.6
567   bb.5.bb42:
568     successors: %bb.6(0x80000000)
570     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
571     %102:gpr64 = COPY %49
572     %126:gpr64, %10:gpr64sp, dead %102:gpr64 = STATEPOINT 2882400000, 0, 0, @wombat, 2, 0, 2, 0, 2, 35, 2, 0, 2, 1, 2, 0, 2, 125, 2, 0, 2, 14, 2, 0, 2, 0, %102, 2, 7, 2, 0, 2, 3, %0, 2, 3, %42.sub_32, 2, 3, 2, 4278124286, 2, 3, %13, 2, 7, 2, 0, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 2, 2, 7, 2, 0, 2, 3, 2, 4278124286, 2, 0, %10, 2, 7, 2, 0, 2, 3, %126(tied-def 0), %10(tied-def 1), %102(tied-def 2), 2, 0, 2, 3, 0, 0, 1, 1, 2, 2, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr
573     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
574     %125:gpr64sp = COPY $xzr
575     %123:gpr64sp = nuw ADDXri %10, 24, 0
576     %122:gpr64sp = IMPLICIT_DEF
577     %124:gpr64sp = IMPLICIT_DEF
578     %127:gpr64sp = IMPLICIT_DEF
580   bb.6.bb48:
581     successors: %bb.7(0x80000000)
584   bb.7.bb79:
585     successors: %bb.8(0x04000000), %bb.7(0x7c000000)
587     CBNZW $wzr, %bb.7
588     B %bb.8
590   bb.8.bb81:
591     successors: %bb.10(0x78787f1d), %bb.9(0x078780e3)
593     STRXui $xzr, %122, 0 :: (store unordered (s64), addrspace 1)
594     CBNZW $wzr, %bb.10
595     B %bb.9
597   bb.9.bb82:
598     successors: %bb.10(0x80000000)
600     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
601     BL @blam.1, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp
602     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
604   bb.10.bb83:
605     successors: %bb.20(0x7ffff777), %bb.15(0x00000889)
607     CBZW $wzr, %bb.15
609   bb.20:
610     successors: %bb.16(0x80000000)
612     B %bb.16
614   bb.11.bb85:
615     successors: %bb.12(0x40000000), %bb.13(0x40000000)
617     CBNZW $wzr, %bb.13
618     B %bb.12
620   bb.12.bb86:
621     successors:
623     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
624     $w0 = MOVi32imm 10
625     STATEPOINT 2882400000, 0, 1, @blam, $w0, 2, 0, 2, 0, 2, 41, 2, 0, 2, 1, 2, 0, 2, 237, 2, 3, 2, 14, 2, 0, 2, 0, 2, 0, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 0, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 0, 2, 0, 2, 7, 2, 0, 2, 1, 2, 0, 2, 0, 2, 1, 0, 0, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr
626     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
628   bb.13.bb90:
629     successors:
631     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
632     $w0 = MOVi32imm 12
633     dead %49:gpr64, dead %10:gpr64sp = STATEPOINT 2882400000, 0, 1, @blam, $w0, 2, 129, 2, 0, 2, 43, 2, 0, 2, 1, 2, 0, 2, 201, 2, 4, 2, 14, 2, 0, 2, 0, 2, 4278124286, 2, 3, %14.sub_32, 2, 0, 2, 4278124286, 2, 3, %14.sub_32, 2, 0, %49, 2, 7, 2, 0, 2, 3, %0, 2, 3, %42.sub_32, 2, 3, 2, 4278124286, 2, 3, %13, 2, 7, 2, 0, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 2, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, %10, 2, 7, 2, 0, 2, 3, 2, 4278124286, %49(tied-def 0), %10(tied-def 1), 2, 0, 2, 3, 0, 0, 1, 1, 2, 2, csr_aarch64_allregs, implicit-def $sp, implicit-def dead early-clobber $lr
634     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
636   bb.14.bb94:
637     successors:
639     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
640     $w0 = MOVi32imm 10
641     STATEPOINT 2882400000, 0, 1, @blam, $w0, 2, 0, 2, 0, 2, 39, 2, 0, 2, 1, 2, 0, 2, 395, 2, 2, 2, 14, 2, 0, 2, 0, 2, 0, 2, 3, 2, 0, 2, 0, 2, 0, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 0, 2, 0, 2, 7, 2, 0, 2, 1, 2, 0, 2, 0, 2, 1, 0, 0, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr
642     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
644   bb.15.bb96:
645     successors: %bb.16(0x80000000)
647     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
648     %111:gpr64 = COPY %49
649     %127:gpr64sp, %126:gpr64, %10:gpr64sp, dead %111:gpr64 = STATEPOINT 2882400000, 0, 0, @wombat, 2, 0, 2, 0, 2, 35, 2, 0, 2, 1, 2, 0, 2, 250, 2, 0, 2, 14, 2, 0, 2, 0, %111, 2, 7, 2, 0, 2, 3, %0, 2, 3, %42.sub_32, 2, 3, 2, 4278124286, 2, 3, %42.sub_32, 2, 7, 2, 0, 2, 3, 2, 230, 2, 7, 2, 0, 2, 4, 2, 0, 2, 7, 2, 0, 2, 3, 2, 4278124286, 2, 0, %10, 2, 7, 2, 0, 2, 4, %127(tied-def 0), %126(tied-def 1), %10(tied-def 2), %111(tied-def 3), 2, 0, 2, 4, 0, 0, 1, 1, 2, 2, 3, 3, csr_aarch64_aapcs, implicit-def $sp, implicit-def dead early-clobber $lr
650     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
651     %123:gpr64sp = nuw ADDXri %10, 24, 0
652     %122:gpr64sp = nuw ADDXri %127, 848, 0
653     %124:gpr64sp = IMPLICIT_DEF
654     %125:gpr64sp = IMPLICIT_DEF
656   bb.16.bb105:
657     successors: %bb.18(0x00000000), %bb.17(0x80000000)
659     STRWui %74.sub_32, %125, 0 :: (store unordered (s32), addrspace 1)
660     STRWui %114, %124, 0 :: (store unordered (s32), align 8, addrspace 1)
661     CBZX %126, %bb.18
662     B %bb.17
664   bb.17.bb115:
665     successors: %bb.14(0x00000000), %bb.3(0x80000000)
667     %115:gpr64sp = COPY $xzr
668     %116:gpr32 = LDRWui %115, 0 :: (load unordered (s32) from `ptr addrspace(1) null`, addrspace 1)
669     %117:gpr32 = MADDWrrr %116, %42.sub_32, $wzr
670     %130:gpr32common = nsw SUBWri %130, 2, 0
671     dead $xzr = SUBSXri %129, 107, 0, implicit-def $nzcv
672     %129:gpr64common = COPY %14
673     %13:gpr32 = MOVi32imm 2
674     STRWui %117, %115, 0 :: (store unordered (s32) into `ptr addrspace(1) null`, addrspace 1)
675     Bcc 8, %bb.14, implicit killed $nzcv
676     B %bb.3
678   bb.18.bb120:
679     ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
680     $w0 = MOVi32imm 10
681     STATEPOINT 2882400000, 0, 1, @blam, $w0, 2, 129, 2, 0, 2, 39, 2, 0, 2, 1, 2, 0, 2, 272, 2, 2, 2, 14, 2, 0, 2, 0, 2, 0, 2, 3, %42.sub_32, 2, 0, 2, 0, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 4278124286, 2, 0, 2, 0, 2, 7, 2, 0, 2, 1, 2, 0, 2, 0, 2, 1, 0, 0, csr_aarch64_allregs, implicit-def $sp, implicit-def dead early-clobber $lr
682     ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp