brintos

brintos / llvm-project-archived public Read only

0
0
Text · 19.0 KiB · b4df731 Raw
525 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=cfi-fixup %s -o - | FileCheck %s3--- |4  define i32 @f0(i32 %x) #0 {5  entry: br label %return6  if.end: br label %return7  if.then2: br label %return8  if.else: br label %return9  return:10    ret i32 011  }12 13  define i32 @f1(i32 %x) #0 {14  entry: br label %return15  if.end: br label %return16  if.then2: br label %return17  if.else: br label %return18  return:19    ret i32 020  }21 22  define i32 @f2(i32 %x) #0 {23  entry: br label %return24  if.end: br label %return25  if.then2: br label %return26  if.else: br label %return27  return:28    ret i32 029  }30 31  declare i32 @g(i32)32 33  attributes #0 = { nounwind shadowcallstack uwtable "sign-return-address"="non-leaf" "target-features"="+reserve-x18" }34 35...36---37name:            f038alignment:       439exposesReturnsTwice: false40legalized:       false41regBankSelected: false42selected:        false43failedISel:      false44tracksRegLiveness: true45hasWinCFI:       false46failsVerification: false47registers:       []48liveins:49  - { reg: '$w0', virtual-reg: '' }50frameInfo:51  isFrameAddressTaken: false52  isReturnAddressTaken: false53  hasStackMap:     false54  hasPatchPoint:   false55  stackSize:       1656  offsetAdjustment: 057  maxAlignment:    1658  adjustsStack:    true59  hasCalls:        true60  stackProtector:  ''61  maxCallFrameSize: 062  cvBytesOfCalleeSavedRegisters: 063  hasOpaqueSPAdjustment: false64  hasVAStart:      false65  hasMustTailInVarArgFunc: false66  hasTailCall:     false67  localFrameSize:  068  savePoint:       []69  restorePoint:    []70fixedStack:      []71stack:72  - { id: 0, name: '', type: spill-slot, offset: -16, size: 8, alignment: 16,73      stack-id: default, callee-saved-register: '$lr', callee-saved-restored: true,74      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }75callSites:       []76debugValueSubstitutions: []77constants:       []78machineFunctionInfo:79  hasRedZone:      false80body:             |81  ; CHECK-LABEL: name: f082  ; CHECK: bb.0.entry:83  ; CHECK-NEXT:   successors: %bb.4(0x30000000), %bb.1(0x50000000)84  ; CHECK-NEXT:   liveins: $w0, $lr, $x1885  ; CHECK-NEXT: {{  $}}86  ; CHECK-NEXT:   CBZW renamable $w0, %bb.487  ; CHECK-NEXT: {{  $}}88  ; CHECK-NEXT: bb.1.if.end:89  ; CHECK-NEXT:   successors: %bb.3(0x30000000), %bb.2(0x50000000)90  ; CHECK-NEXT:   liveins: $w0, $lr, $x1891  ; CHECK-NEXT: {{  $}}92  ; CHECK-NEXT:   early-clobber $x18 = frame-setup STRXpost $lr, $x18, 893  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION escape 0x16, 0x12, 0x02, 0x82, 0x7894  ; CHECK-NEXT:   frame-setup PACIASP implicit-def $lr, implicit killed $lr, implicit $sp95  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION negate_ra_sign_state96  ; CHECK-NEXT:   early-clobber $sp = frame-setup STRXpre killed $lr, $sp, -16 :: (store (s64) into %stack.0)97  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION def_cfa_offset 1698  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $w30, -1699  ; CHECK-NEXT:   CFI_INSTRUCTION remember_state100  ; CHECK-NEXT:   TBNZW renamable $w0, 31, %bb.3101  ; CHECK-NEXT: {{  $}}102  ; CHECK-NEXT: bb.2.if.else:103  ; CHECK-NEXT:   successors: %bb.5(0x80000000)104  ; CHECK-NEXT:   liveins: $w0105  ; CHECK-NEXT: {{  $}}106  ; CHECK-NEXT:   renamable $w0 = nuw nsw ADDWri killed renamable $w0, 1, 0107  ; CHECK-NEXT:   BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0108  ; CHECK-NEXT:   renamable $w8 = MOVZWi 1, 0109  ; CHECK-NEXT:   $w0 = SUBWrs killed renamable $w8, killed renamable $w0, 0110  ; CHECK-NEXT:   B %bb.5111  ; CHECK-NEXT: {{  $}}112  ; CHECK-NEXT: bb.3.if.then2:113  ; CHECK-NEXT:   successors: %bb.5(0x80000000)114  ; CHECK-NEXT:   liveins: $w0115  ; CHECK-NEXT: {{  $}}116  ; CHECK-NEXT:   renamable $w0 = nsw SUBWri killed renamable $w0, 1, 0117  ; CHECK-NEXT:   BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0118  ; CHECK-NEXT:   renamable $w0 = nsw ADDWri killed renamable $w0, 1, 0119  ; CHECK-NEXT:   B %bb.5120  ; CHECK-NEXT: {{  $}}121  ; CHECK-NEXT: bb.4.return:122  ; CHECK-NEXT:   liveins: $w0123  ; CHECK-NEXT: {{  $}}124  ; CHECK-NEXT:   CFI_INSTRUCTION def_cfa $wsp, 0125  ; CHECK-NEXT:   CFI_INSTRUCTION negate_ra_sign_state126  ; CHECK-NEXT:   CFI_INSTRUCTION same_value $w18127  ; CHECK-NEXT:   CFI_INSTRUCTION same_value $w30128  ; CHECK-NEXT:   RET undef $lr, implicit killed $w0129  ; CHECK-NEXT: {{  $}}130  ; CHECK-NEXT: bb.5.return:131  ; CHECK-NEXT:   successors: %bb.7(0x80000000)132  ; CHECK-NEXT:   liveins: $w0133  ; CHECK-NEXT: {{  $}}134  ; CHECK-NEXT:   CFI_INSTRUCTION restore_state135  ; CHECK-NEXT:   CFI_INSTRUCTION remember_state136  ; CHECK-NEXT:   B %bb.7137  ; CHECK-NEXT: {{  $}}138  ; CHECK-NEXT: bb.6.return:139  ; CHECK-NEXT:   liveins: $w0140  ; CHECK-NEXT: {{  $}}141  ; CHECK-NEXT:   early-clobber $sp, $lr = frame-destroy LDRXpost $sp, 16 :: (load (s64) from %stack.0)142  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION def_cfa_offset 0143  ; CHECK-NEXT:   frame-destroy AUTIASP implicit-def $lr, implicit killed $lr, implicit $sp144  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION negate_ra_sign_state145  ; CHECK-NEXT:   early-clobber $x18, $lr = frame-destroy LDRXpre $x18, -8146  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $w18147  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $w30148  ; CHECK-NEXT:   RET undef $lr, implicit killed $w0149  ; CHECK-NEXT: {{  $}}150  ; CHECK-NEXT: bb.7.return:151  ; CHECK-NEXT:   successors: %bb.6(0x80000000)152  ; CHECK-NEXT:   liveins: $w0153  ; CHECK-NEXT: {{  $}}154  ; CHECK-NEXT:   CFI_INSTRUCTION restore_state155  ; CHECK-NEXT:   B %bb.6156  bb.0.entry:157    successors: %bb.4(0x30000000), %bb.1(0x50000000)158    liveins: $w0, $lr, $x18159 160    CBZW renamable $w0, %bb.4161 162  bb.1.if.end:163    successors: %bb.3(0x30000000), %bb.2(0x50000000)164    liveins: $w0, $lr, $x18165 166    early-clobber $x18 = frame-setup STRXpost $lr, $x18, 8167    frame-setup CFI_INSTRUCTION escape 0x16, 0x12, 0x02, 0x82, 0x78168    frame-setup PACIASP implicit-def $lr, implicit killed $lr, implicit $sp169    frame-setup CFI_INSTRUCTION negate_ra_sign_state170    early-clobber $sp = frame-setup STRXpre killed $lr, $sp, -16 :: (store (s64) into %stack.0)171    frame-setup CFI_INSTRUCTION def_cfa_offset 16172    frame-setup CFI_INSTRUCTION offset $w30, -16173    TBNZW renamable $w0, 31, %bb.3174 175  bb.2.if.else:176    successors: %bb.5(0x80000000)177    liveins: $w0178 179    renamable $w0 = nuw nsw ADDWri killed renamable $w0, 1, 0180    BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0181    renamable $w8 = MOVZWi 1, 0182    $w0 = SUBWrs killed renamable $w8, killed renamable $w0, 0183    B %bb.5184 185  bb.3.if.then2:186    successors: %bb.5(0x80000000)187    liveins: $w0188 189    renamable $w0 = nsw SUBWri killed renamable $w0, 1, 0190    BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0191    renamable $w0 = nsw ADDWri killed renamable $w0, 1, 0192    B %bb.5193 194  bb.4.return:195    liveins: $w0196    RET undef $lr, implicit killed $w0197 198  bb.5.return:199    liveins: $w0200    B %bb.6201 202  bb.7.return:203    liveins: $w0204    early-clobber $sp, $lr = frame-destroy LDRXpost $sp, 16 :: (load (s64) from %stack.0)205    frame-destroy CFI_INSTRUCTION def_cfa_offset 0206    frame-destroy AUTIASP implicit-def $lr, implicit killed $lr, implicit $sp207    frame-destroy CFI_INSTRUCTION negate_ra_sign_state208    early-clobber $x18, $lr = frame-destroy LDRXpre $x18, -8209    frame-destroy CFI_INSTRUCTION restore $w18210    frame-destroy CFI_INSTRUCTION restore $w30211    RET undef $lr, implicit killed $w0212 213  bb.6.return:214    liveins: $w0215    B %bb.7216 217 218...219---220name:            f1221alignment:       4222exposesReturnsTwice: false223legalized:       false224regBankSelected: false225selected:        false226failedISel:      false227tracksRegLiveness: true228hasWinCFI:       false229failsVerification: false230registers:       []231liveins:232  - { reg: '$w0', virtual-reg: '' }233frameInfo:234  isFrameAddressTaken: false235  isReturnAddressTaken: false236  hasStackMap:     false237  hasPatchPoint:   false238  stackSize:       16239  offsetAdjustment: 0240  maxAlignment:    16241  adjustsStack:    true242  hasCalls:        true243  stackProtector:  ''244  maxCallFrameSize: 0245  cvBytesOfCalleeSavedRegisters: 0246  hasOpaqueSPAdjustment: false247  hasVAStart:      false248  hasMustTailInVarArgFunc: false249  hasTailCall:     false250  localFrameSize:  0251  savePoint:       []252  restorePoint:    []253fixedStack:      []254stack:255  - { id: 0, name: '', type: spill-slot, offset: -16, size: 8, alignment: 16,256      stack-id: default, callee-saved-register: '$lr', callee-saved-restored: true,257      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }258callSites:       []259debugValueSubstitutions: []260constants:       []261machineFunctionInfo:262  hasRedZone:      false263body:             |264  ; CHECK-LABEL: name: f1265  ; CHECK: bb.0.entry:266  ; CHECK-NEXT:   successors: %bb.5(0x30000000), %bb.1(0x50000000)267  ; CHECK-NEXT:   liveins: $w0, $lr, $x18268  ; CHECK-NEXT: {{  $}}269  ; CHECK-NEXT:   CBZW renamable $w0, %bb.5270  ; CHECK-NEXT: {{  $}}271  ; CHECK-NEXT: bb.1.if.end:272  ; CHECK-NEXT:   successors: %bb.3(0x30000000), %bb.2(0x50000000)273  ; CHECK-NEXT:   liveins: $w0, $lr, $x18274  ; CHECK-NEXT: {{  $}}275  ; CHECK-NEXT:   early-clobber $x18 = frame-setup STRXpost $lr, $x18, 8276  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION escape 0x16, 0x12, 0x02, 0x82, 0x78277  ; CHECK-NEXT:   frame-setup PACIASP implicit-def $lr, implicit killed $lr, implicit $sp278  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION negate_ra_sign_state279  ; CHECK-NEXT:   early-clobber $sp = frame-setup STRXpre killed $lr, $sp, -16 :: (store (s64) into %stack.0)280  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION def_cfa_offset 16281  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $w30, -16282  ; CHECK-NEXT:   TBNZW renamable $w0, 31, %bb.3283  ; CHECK-NEXT: {{  $}}284  ; CHECK-NEXT: bb.2.if.else:285  ; CHECK-NEXT:   successors: %bb.4(0x80000000)286  ; CHECK-NEXT:   liveins: $w0287  ; CHECK-NEXT: {{  $}}288  ; CHECK-NEXT:   renamable $w0 = nuw nsw ADDWri killed renamable $w0, 1, 0289  ; CHECK-NEXT:   BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0290  ; CHECK-NEXT:   renamable $w8 = MOVZWi 1, 0291  ; CHECK-NEXT:   $w0 = SUBWrs killed renamable $w8, killed renamable $w0, 0292  ; CHECK-NEXT:   B %bb.4293  ; CHECK-NEXT: {{  $}}294  ; CHECK-NEXT: bb.3.if.then2:295  ; CHECK-NEXT:   successors: %bb.4(0x80000000)296  ; CHECK-NEXT:   liveins: $w0297  ; CHECK-NEXT: {{  $}}298  ; CHECK-NEXT:   renamable $w0 = nsw SUBWri killed renamable $w0, 1, 0299  ; CHECK-NEXT:   BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0300  ; CHECK-NEXT:   renamable $w0 = nsw ADDWri killed renamable $w0, 1, 0301  ; CHECK-NEXT:   B %bb.4302  ; CHECK-NEXT: {{  $}}303  ; CHECK-NEXT: bb.4.return:304  ; CHECK-NEXT:   liveins: $w0305  ; CHECK-NEXT: {{  $}}306  ; CHECK-NEXT:   early-clobber $sp, $lr = frame-destroy LDRXpost $sp, 16 :: (load (s64) from %stack.0)307  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION def_cfa_offset 0308  ; CHECK-NEXT:   frame-destroy AUTIASP implicit-def $lr, implicit killed $lr, implicit $sp309  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION negate_ra_sign_state310  ; CHECK-NEXT:   early-clobber $x18, $lr = frame-destroy LDRXpre $x18, -8311  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $w18312  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $w30313  ; CHECK-NEXT:   RET undef $lr, implicit killed $w0314  ; CHECK-NEXT: {{  $}}315  ; CHECK-NEXT: bb.5.return:316  ; CHECK-NEXT:   liveins: $w0317  ; CHECK-NEXT: {{  $}}318  ; CHECK-NEXT:   RET undef $lr, implicit killed $w0319  bb.0.entry:320    successors: %bb.5(0x30000000), %bb.1(0x50000000)321    liveins: $w0, $lr, $x18322 323    CBZW renamable $w0, %bb.5324 325  bb.1.if.end:326    successors: %bb.3(0x30000000), %bb.2(0x50000000)327    liveins: $w0, $lr, $x18328 329    early-clobber $x18 = frame-setup STRXpost $lr, $x18, 8330    frame-setup CFI_INSTRUCTION escape 0x16, 0x12, 0x02, 0x82, 0x78331    frame-setup PACIASP implicit-def $lr, implicit killed $lr, implicit $sp332    frame-setup CFI_INSTRUCTION negate_ra_sign_state333    early-clobber $sp = frame-setup STRXpre killed $lr, $sp, -16 :: (store (s64) into %stack.0)334    frame-setup CFI_INSTRUCTION def_cfa_offset 16335    frame-setup CFI_INSTRUCTION offset $w30, -16336    TBNZW renamable $w0, 31, %bb.3337 338  bb.2.if.else:339    successors: %bb.4(0x80000000)340    liveins: $w0341 342    renamable $w0 = nuw nsw ADDWri killed renamable $w0, 1, 0343    BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0344    renamable $w8 = MOVZWi 1, 0345    $w0 = SUBWrs killed renamable $w8, killed renamable $w0, 0346    B %bb.4347 348  bb.3.if.then2:349    successors: %bb.4(0x80000000)350    liveins: $w0351 352    renamable $w0 = nsw SUBWri killed renamable $w0, 1, 0353    BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0354    renamable $w0 = nsw ADDWri killed renamable $w0, 1, 0355    B %bb.4356 357  bb.4.return:358    liveins: $w0359 360    early-clobber $sp, $lr = frame-destroy LDRXpost $sp, 16 :: (load (s64) from %stack.0)361    frame-destroy CFI_INSTRUCTION def_cfa_offset 0362    frame-destroy AUTIASP implicit-def $lr, implicit killed $lr, implicit $sp363    frame-destroy CFI_INSTRUCTION negate_ra_sign_state364    early-clobber $x18, $lr = frame-destroy LDRXpre $x18, -8365    frame-destroy CFI_INSTRUCTION restore $w18366    frame-destroy CFI_INSTRUCTION restore $w30367    RET undef $lr, implicit killed $w0368 369  bb.5.return:370    liveins: $w0371    RET undef $lr, implicit killed $w0372 373...374---375name:            f2376alignment:       4377exposesReturnsTwice: false378legalized:       false379regBankSelected: false380selected:        false381failedISel:      false382tracksRegLiveness: true383hasWinCFI:       false384failsVerification: false385registers:       []386liveins:387  - { reg: '$w0', virtual-reg: '' }388frameInfo:389  isFrameAddressTaken: false390  isReturnAddressTaken: false391  hasStackMap:     false392  hasPatchPoint:   false393  stackSize:       16394  offsetAdjustment: 0395  maxAlignment:    16396  adjustsStack:    true397  hasCalls:        true398  stackProtector:  ''399  maxCallFrameSize: 0400  cvBytesOfCalleeSavedRegisters: 0401  hasOpaqueSPAdjustment: false402  hasVAStart:      false403  hasMustTailInVarArgFunc: false404  hasTailCall:     false405  localFrameSize:  0406  savePoint:       []407  restorePoint:    []408fixedStack:      []409stack:410  - { id: 0, name: '', type: spill-slot, offset: -16, size: 8, alignment: 16,411      stack-id: default, callee-saved-register: '$lr', callee-saved-restored: true,412      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }413callSites:       []414debugValueSubstitutions: []415constants:       []416machineFunctionInfo:417  hasRedZone:      false418body:             |419  ; CHECK-LABEL: name: f2420  ; CHECK: bb.0.entry:421  ; CHECK-NEXT:   successors: %bb.5(0x30000000), %bb.1(0x50000000)422  ; CHECK-NEXT:   liveins: $w0, $lr, $x18423  ; CHECK-NEXT: {{  $}}424  ; CHECK-NEXT:   CBZW renamable $w0, %bb.5425  ; CHECK-NEXT: {{  $}}426  ; CHECK-NEXT: bb.1.if.end:427  ; CHECK-NEXT:   successors: %bb.3(0x30000000), %bb.2(0x50000000)428  ; CHECK-NEXT:   liveins: $w0, $lr, $x18429  ; CHECK-NEXT: {{  $}}430  ; CHECK-NEXT:   early-clobber $x18 = frame-setup STRXpost $lr, $x18, 8431  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION escape 0x16, 0x12, 0x02, 0x82, 0x78432  ; CHECK-NEXT:   frame-setup PACIASP implicit-def $lr, implicit killed $lr, implicit $sp433  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION negate_ra_sign_state434  ; CHECK-NEXT:   early-clobber $sp = frame-setup STRXpre killed $lr, $sp, -16 :: (store (s64) into %stack.0)435  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION def_cfa_offset 16436  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $w30, -16437  ; CHECK-NEXT:   TBNZW renamable $w0, 31, %bb.3438  ; CHECK-NEXT: {{  $}}439  ; CHECK-NEXT: bb.2.if.else:440  ; CHECK-NEXT:   successors: %bb.4(0x80000000)441  ; CHECK-NEXT:   liveins: $w0442  ; CHECK-NEXT: {{  $}}443  ; CHECK-NEXT:   renamable $w0 = nuw nsw ADDWri killed renamable $w0, 1, 0444  ; CHECK-NEXT:   BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0445  ; CHECK-NEXT:   renamable $w8 = MOVZWi 1, 0446  ; CHECK-NEXT:   $w0 = SUBWrs killed renamable $w8, killed renamable $w0, 0447  ; CHECK-NEXT:   B %bb.4448  ; CHECK-NEXT: {{  $}}449  ; CHECK-NEXT: bb.3.if.then2:450  ; CHECK-NEXT:   successors: %bb.4(0x80000000)451  ; CHECK-NEXT:   liveins: $w0452  ; CHECK-NEXT: {{  $}}453  ; CHECK-NEXT:   renamable $w0 = nsw SUBWri killed renamable $w0, 1, 0454  ; CHECK-NEXT:   BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0455  ; CHECK-NEXT:   renamable $w0 = nsw ADDWri killed renamable $w0, 1, 0456  ; CHECK-NEXT:   B %bb.4457  ; CHECK-NEXT: {{  $}}458  ; CHECK-NEXT: bb.4.return:459  ; CHECK-NEXT:   liveins: $w0460  ; CHECK-NEXT: {{  $}}461  ; CHECK-NEXT:   early-clobber $sp, $lr = frame-destroy LDRXpost $sp, 16 :: (load (s64) from %stack.0)462  ; CHECK-NEXT:   frame-destroy AUTIASP implicit-def $lr, implicit killed $lr, implicit $sp463  ; CHECK-NEXT:   early-clobber $x18, $lr = frame-destroy LDRXpre $x18, -8464  ; CHECK-NEXT:   RET undef $lr, implicit killed $w0465  ; CHECK-NEXT: {{  $}}466  ; CHECK-NEXT: bb.5.return:467  ; CHECK-NEXT:   liveins: $w0468  ; CHECK-NEXT: {{  $}}469  ; CHECK-NEXT:   CFI_INSTRUCTION def_cfa $wsp, 0470  ; CHECK-NEXT:   CFI_INSTRUCTION negate_ra_sign_state471  ; CHECK-NEXT:   CFI_INSTRUCTION same_value $w18472  ; CHECK-NEXT:   CFI_INSTRUCTION same_value $w30473  ; CHECK-NEXT:   RET undef $lr, implicit killed $w0474  bb.0.entry:475    successors: %bb.5(0x30000000), %bb.1(0x50000000)476    liveins: $w0, $lr, $x18477 478    CBZW renamable $w0, %bb.5479 480  bb.1.if.end:481    successors: %bb.3(0x30000000), %bb.2(0x50000000)482    liveins: $w0, $lr, $x18483 484    early-clobber $x18 = frame-setup STRXpost $lr, $x18, 8485    frame-setup CFI_INSTRUCTION escape 0x16, 0x12, 0x02, 0x82, 0x78486    frame-setup PACIASP implicit-def $lr, implicit killed $lr, implicit $sp487    frame-setup CFI_INSTRUCTION negate_ra_sign_state488    early-clobber $sp = frame-setup STRXpre killed $lr, $sp, -16 :: (store (s64) into %stack.0)489    frame-setup CFI_INSTRUCTION def_cfa_offset 16490    frame-setup CFI_INSTRUCTION offset $w30, -16491    TBNZW renamable $w0, 31, %bb.3492 493  bb.2.if.else:494    successors: %bb.4(0x80000000)495    liveins: $w0496 497    renamable $w0 = nuw nsw ADDWri killed renamable $w0, 1, 0498    BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0499    renamable $w8 = MOVZWi 1, 0500    $w0 = SUBWrs killed renamable $w8, killed renamable $w0, 0501    B %bb.4502 503  bb.3.if.then2:504    successors: %bb.4(0x80000000)505    liveins: $w0506 507    renamable $w0 = nsw SUBWri killed renamable $w0, 1, 0508    BL @g, csr_aarch64_aapcs_scs, implicit-def dead $lr, implicit $sp, implicit killed $w0, implicit-def $sp, implicit-def $w0509    renamable $w0 = nsw ADDWri killed renamable $w0, 1, 0510    B %bb.4511 512  bb.4.return:513    liveins: $w0514 515    early-clobber $sp, $lr = frame-destroy LDRXpost $sp, 16 :: (load (s64) from %stack.0)516    frame-destroy AUTIASP implicit-def $lr, implicit killed $lr, implicit $sp517    early-clobber $x18, $lr = frame-destroy LDRXpre $x18, -8518    RET undef $lr, implicit killed $w0519 520  bb.5.return:521    liveins: $w0522    RET undef $lr, implicit killed $w0523 524...525