constant-islands-cfg.mir 1.59 KB
# RUN: llc -mtriple=thumbv6m-apple-ios -run-pass=arm-cp-islands --verify-machine-dom-info %s -o - | FileCheck %s
--- |
  ; Function Attrs: minsize nounwind optsize uwtable
  define arm_aapcscc double @test_split_cfg(double %a, double %b) local_unnamed_addr #0 {
    ret double undef
  }
...
---
name:            test_split_cfg
alignment:       2
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
tracksRegLiveness: true
registers:
liveins:
  - { reg: '$r0', virtual-reg: '' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       48
  offsetAdjustment: 0
  maxAlignment:    4
  adjustsStack:    true
  hasCalls:        true
  stackProtector:  ''
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  savePoint:       ''
  restorePoint:    ''
fixedStack:
# CHECK-LABEL: name: test_split_cfg
# CHECK: bb.0:
# CHECK:     successors: %[[LONG_BR_BB:bb.[0-9]+]](0x{{[0-9a-f]+}}), %[[DEST1:bb.[0-9]+]](0x{{[0-9a-f]+}}){{$}}
# CHECK:     tBcc %[[LONG_BR_BB]], 0, $cpsr
# CHECK:     tB %[[DEST1]]
# CHECK: [[LONG_BR_BB]]:
# CHECK:     successors: %[[DEST2:bb.[0-9]+]](0x{{[0-9a-f]+}}){{$}}
# CHECK:     tB %[[DEST2]]
# CHECK: [[DEST1]]:
# CHECK: [[DEST2]]:

body:             |
  bb.0:
    liveins: $r0
    tCMPi8 killed $r0, 0, 14, $noreg, implicit-def $cpsr
    tBcc %bb.2, 1, killed $cpsr
    tB %bb.3, 14, $noreg

  bb.1:
    dead $r0 = SPACE 256, undef $r0

  bb.2:
    tPOP_RET 14, $noreg, def $pc

  bb.3:
    tPOP_RET 14, $noreg, def $pc

...