# RUN: llc -mtriple=aarch64-apple-ios -run-pass=simple-register-coalescing %s -o - | FileCheck %s
--- |
  declare void @f2()

  define void @func0() { ret void }
  define void @func1() { ret void }
  define void @func2() { ret void }
...
---
# Check coalescing of COPYs from reserved physregs.
# CHECK-LABEL: name: func0
name: func0
body: |
  bb.0:
    ; We usually should not coalesce copies from allocatable physregs.
    ; CHECK: %0:gpr32 = COPY $w7
    ; CHECK: STRWui %0, $x1, 0
    %0 : gpr32 = COPY $w7
    STRWui %0, $x1, 0

    ; It is fine to coalesce copies from reserved physregs
    ; CHECK-NOT: COPY
    ; CHECK: STRXui $fp, $x1, 0
    %1 : gpr64 = COPY $fp
    STRXui %1, $x1, 0

    ; It is not fine to coalesce copies from reserved physregs when they are
    ; clobbered.
    ; CHECK: %2:gpr64 = COPY $fp
    ; CHECK: STRXui %2, $x1, 0
    %2 : gpr64 = COPY $fp
    $fp = SUBXri $fp, 4, 0
    STRXui %2, $x1, 0

    ; Is is fine to coalesce copies from constant physregs even when they are
    ; clobbered.
    ; CHECK-NOT: COPY
    ; CHECK: STRWui $wzr, $x1
    %3 : gpr32 = COPY $wzr
    dead $wzr = SUBSWri $w1, 0, 0, implicit-def $nzcv
    STRWui %3, $x1, 0

    ; Is is fine to coalesce copies from constant physregs even when they are
    ; clobbered.
    ; CHECK-NOT: COPY
    ; CHECK: STRXui $xzr, $x1
    %4 : gpr64 = COPY $xzr
    dead $wzr = SUBSWri $w1, 0, 0, implicit-def $nzcv
    STRXui %4, $x1, 0

    ; Coalescing COPYs into constant physregs.
    ; CHECK: $wzr = SUBSWri $w1, 0, 0
    %5 : gpr32 = SUBSWri $w1, 0, 0, implicit-def $nzcv
    $wzr = COPY %5

    ; Only coalesce when the source register is reserved as a whole (this is
    ; a limitation of the current code which cannot update liveness information
    ; of the non-reserved part).
    ; CHECK: %6:xseqpairsclass = COPY $x28_fp
    ; CHECK: HINT 0, implicit %6
    %6 : xseqpairsclass = COPY $x28_fp
    HINT 0, implicit %6

    ; It is not fine to coalesce copies from reserved physregs when they are
    ; clobbered by the regmask on a call.
    ; CHECK: %7:gpr64 = COPY $x18
    ; CHECK: BL @f2, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp
    ; CHECK: STRXui %7, $x1, 0

    ; Need a def of x18 so that it's not deduced as "constant".
    $x18 = COPY $xzr
    %7 : gpr64 = COPY $x18
    BL @f2, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp
    STRXui %7, $x1, 0

    ; This can be coalesced.
    ; CHECK: $fp = SUBXri $fp, 4, 0
    %8 : gpr64sp = SUBXri $fp, 4, 0
    $fp = COPY %8

    ; Cannot coalesce when there are reads of the physreg.
    ; CHECK-NOT: $fp = SUBXri $fp, 8, 0
    ; CHECK: %9:gpr64sp = SUBXri $fp, 8, 0
    ; CHECK: STRXui $fp, $fp, 0
    ; CHECK: $fp = COPY %9
    %9 : gpr64sp = SUBXri $fp, 8, 0
    STRXui $fp, $fp, 0
    $fp = COPY %9
...
---
# Check coalescing of COPYs from reserved physregs.
# CHECK-LABEL: name: func1
name: func1
body: |
  bb.0:
    ; Cannot coalesce physreg because we have reads on other CFG paths (we
    ; currently abort for any control flow)
    ; CHECK-NOT: $fp = SUBXri
    ; CHECK: %0:gpr64sp = SUBXri $fp, 12, 0
    ; CHECK: CBZX undef $x0, %bb.1
    ; CHECK: B %bb.2
    %0 : gpr64sp = SUBXri $fp, 12, 0
    CBZX undef $x0, %bb.1
    B %bb.2

  bb.1:
    $fp = COPY %0
    RET_ReallyLR

  bb.2:
    STRXui $fp, $fp, 0
    RET_ReallyLR
...
---
# CHECK-LABEL: name: func2
name: func2
body: |
  bb.0:
    ; We can coalesce copies from physreg to vreg across multiple blocks.
    ; CHECK-NOT: COPY
    ; CHECK: CBZX undef $x0, %bb.1
    ; CHECK-NEXT: B %bb.2
    %0 : gpr64sp = COPY $fp
    CBZX undef $x0, %bb.1
    B %bb.2

  bb.1:
    ; CHECK: STRXui undef $x0, $fp, 0
    ; CHECK-NEXT: RET_ReallyLR
    STRXui undef $x0, %0, 0
    RET_ReallyLR

  bb.2:
    RET_ReallyLR
...
