# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass=postra-machine-sink -verify-machineinstrs  -o - %s | FileCheck %s

---
# Sink w19 to %bb.1.
# CHECK-LABEL: name: sinkcopy1
# CHECK-LABEL: bb.0:
# CHECK-NOT: $w19 = COPY killed $w0
# CHECK-LABEL: bb.1:
# CHECK: liveins: $w1, $w0
# CHECK: renamable $w19 = COPY killed $w0

name: sinkcopy1
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable  $w19 = COPY killed $w0
    Bcc 11, %bb.1, implicit $nzcv
    B %bb.2

  bb.1:
    liveins: $w1, $w19
    $w0 = ADDWrr $w1, $w19
    RET $x0

  bb.2:
    $w0 = COPY $wzr
    RET   $x0
...

---
# Sink w19 to %bb.2.
# CHECK-LABEL: name: sinkcopy2
# CHECK-LABEL: bb.0:
# CHECK-NOT: renamable $w19 = COPY killed $w0
# CHECK-LABEL: bb.2:
# CHECK: liveins: $w1, $w0
# CHECK: renamable $w19 = COPY killed $w0
name: sinkcopy2
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY killed $w0
    Bcc 11, %bb.2, implicit $nzcv
    B %bb.1

  bb.1:
    $w0 = COPY $wzr
    RET $x0

  bb.2:
    liveins: $w1, $w19
    $w0 = ADDWrr $w1, $w19
    RET $x0
...

---
# Sink w19 and w20 to %bb.1.
# CHECK-LABEL: name: sinkcopy3
# CHECK-LABEL: bb.0:
# CHECK-NOT: renamable $w19 = COPY killed $w0
# CHECK-LABEL: bb.1:
# CHECK: liveins: $w1, $w0
# CHECK: renamable $w19 = COPY killed $w0
# CHECK: renamable $w20 = COPY killed $w1
name: sinkcopy3
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY killed $w0
    renamable $w20 = COPY killed $w1

  bb.1:
    liveins: $w19, $w20
    $w0 = COPY $w19
    $w1 = COPY $w20
    RET $x0
...


# Sink w19 to %bb.1 and w20 to %bb.2.
# CHECK-LABEL: name: sinkcopy4
# CHECK-LABEL: bb.0:
# CHECK-NOT: renamable $w19 = COPY killed $w0
# CHECK-NOT: renamable $w20 = COPY killed $w1
# CHECK-LABEL: bb.1:
# CHECK: liveins: $w1, $w0
# CHECK: renamable $w19 = COPY killed $w0
# CHECK-LABEL: bb.2:
# CHECK: liveins: $w0, $w1
# CHECK: renamable $w20 = COPY killed $w1
name: sinkcopy4
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY killed $w0
    renamable $w20 = COPY killed $w1
    Bcc 11, %bb.2, implicit $nzcv
    B %bb.1

  bb.1:
    liveins: $w1, $w19
    $w0 = ADDWrr $w1, $w19
    RET $x0

  bb.2:
    liveins: $w0, $w20
    $w0 = ADDWrr $w0, $w20
    RET $x0
...

# Sink w19 to %bb.3 through %bb.2.
# CHECK-LABEL: name: sinkcopy5
# CHECK-LABEL: bb.0:
# CHECK-NOT: renamable $w19 = COPY $w0
# CHECK-LABEL: bb.2:
# CHECK: $w1 = ADDWrr $w1, $w0
# CHECK-LABEL: bb.3:
# CHECK: liveins: $w1, $w0
# CHECK: renamable $w19 = COPY killed $w0
name: sinkcopy5
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY $w0
    Bcc 11, %bb.2, implicit $nzcv

  bb.1:
    liveins: $x0
    $w19 = COPY $wzr
    RET $x0

  bb.2:
    liveins: $w0, $w1, $w19
    $w1 = ADDWrr $w1, killed $w0

  bb.3:
    liveins: $w1, $w19
    $w0 = ADDWrr $w1, $w19
    RET $x0
...

# Sink w19 to %bb.3, but  through %bb.2.
# CHECK-LABEL: name: sinkcopy6
# CHECK-LABEL: bb.0:
# CHECK-NOT: renamable $w19 = COPY $w0
# CHECK-NOT: renamable $w20 = COPY $w0
# CHECK-LABEL: bb.2:
# CHECK: liveins: $w1, $w0
# CHECK: renamable $w19 = COPY $w0
# CHECK: renamable $w20 = COPY $w19
name: sinkcopy6
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY $w0
    renamable $w20 = COPY $w19
    Bcc 11, %bb.2, implicit $nzcv

  bb.1:
    $w0 = COPY $wzr
    RET $x0

  bb.2:
    liveins: $w1, $w20
    $w0 = ADDWrr killed $w1, $w20
    RET $x0
...

---
# Sink w19 regardless of the def of wzr in bb.0.
# CHECK-LABEL: name: sinkcopy7
# CHECK-LABEL: bb.0:
# CHECK-NOT: renamable $w19 = COPY $w0
# CHECK-LABEL: bb.2:
# CHECK: renamable $w19 = COPY $wzr
name: sinkcopy7
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    renamable $w19 = COPY $wzr
    $wzr = SUBSWri $w1, 1, 0, implicit-def $nzcv
    Bcc 11, %bb.2, implicit $nzcv
    B %bb.1

  bb.1:
    $x0 = COPY $xzr
    RET $x0

  bb.2:
    liveins: $w0, $w19
    $w0 = ADDWrr $w0, $w19
    RET $x0
...

---
# Sink w19 to %bb.3 through %bb.2.
# CHECK-LABEL: name: sinkcopy8
# CHECK-LABEL: bb.0:
# CHECK-NOT: renamable $w19 = COPY $w0, implicit-def $x19
# CHECK-LABEL: bb.2:
# CHECK: $w1 = ADDWrr $w1, $w0, implicit $x0
# CHECK-LABEL: bb.3:
# CHECK: liveins: $x1, $w0
# CHECK: renamable $w19 = COPY killed $w0, implicit-def $x19
name: sinkcopy8
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $x1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY $w0, implicit-def $x19
    Bcc 11, %bb.2, implicit $nzcv

  bb.1:
    liveins: $x0
    $w19 = COPY $wzr
    RET $x0

  bb.2:
    liveins: $w0, $x1, $x19
    $w1 = ADDWrr $w1, $w0, implicit killed $x0

  bb.3:
    liveins: $x1, $x19
    $x0 = ADDXrr $x1, $x19
    RET $x0
...

---
# Don't sink w19 as w0 is defined in bb.0.
# CHECK-LABEL: name: donotsinkcopy1
# CHECK-LABEL: bb.0:
# CHECK: renamable $w19 = COPY $w0
# CHECK: $w0 = LDRWui $sp, 0
name: donotsinkcopy1
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY $w0
    $w0 = LDRWui $sp, 0 :: (load 4)
    Bcc 11, %bb.2, implicit $nzcv
    B %bb.1

  bb.1:
    $x0 = COPY $xzr
    RET $x0

  bb.2:
    liveins: $w0, $w19
    $w0 = ADDWrr $w0, $w19
    RET $x0
...

---
# Don't sink w19 as w19 is used in bb.0.
# CHECK-LABEL: name: donotsinkcopy2
# CHECK-LABEL: bb.0:
# CHECK: renamable $w19 = COPY $w0
# CHECK: STRWui $w1, $x19, 0
name: donotsinkcopy2
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY $w0
    STRWui $w1, $x19, 0 :: (store 4)
    Bcc 11, %bb.2, implicit $nzcv
    B %bb.1

  bb.1:
    $x0 = COPY $xzr
    RET $x0

  bb.2:
    liveins: $w0, $w19
    $w0 = ADDWrr $w0, $w19
    RET $x0
...

---
# Don't sink w19 as w19 is used in both %bb.1 and %bb.2.
# CHECK-LABEL: name: donotsinkcopy3
# CHECK-LABEL: bb.0:
# CHECK: renamable $w19 = COPY $w0
name: donotsinkcopy3
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY $w0
    Bcc 11, %bb.2, implicit $nzcv
    B %bb.1

  bb.1:
    liveins: $w19
    $w0 = COPY $w19
    RET $x0

  bb.2:
    liveins: $w0, $w19
    $w0 = ADDWrr $w0, $w19
    RET $x0
...

---
# Don't sink w19 as %bb.2 has multiple predecessors.
# CHECK-LABEL: name: donotsinkcopy4
# CHECK-LABEL: bb.0:
# CHECK: renamable $w19 = COPY $w0
name: donotsinkcopy4
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY $w0
    Bcc 11, %bb.2, implicit $nzcv
    B %bb.1

  bb.1:
    liveins: $w0
    $w19 = COPY $w0
    B %bb.2

  bb.2:
    liveins: $w0, $w19
    $w0 = ADDWrr $w0, $w19
    RET $x0
...


# Don't sink w19 after sinking w20.
# CHECK-LABEL: name: donotsinkcopy5
# CHECK-LABEL: bb.0:
# CHECK: renamable $w19 = COPY $w0
# CHECK-LABEL: bb.2:
# CHECK: liveins: $w0, $w19
# CHECK: renamable $w20 = COPY $w19
name: donotsinkcopy5
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $w0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $w19 = COPY $w0
    renamable $w20 = COPY $w19
    Bcc 11, %bb.2, implicit $nzcv

  bb.1:
    liveins: $w19
    $w0 = COPY $w19
    RET $x0

  bb.2:
    liveins: $w0, $w20
    $w0 = ADDWrr killed $w0, $w20
    RET $x0
...

---
# Don't sink w19 as x19 is live-in in %bb.2.
# CHECK-LABEL: name: donotsinkcopy6
# CHECK-LABEL: bb.0:
name: donotsinkcopy6
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $x0, $w1
    $w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
    renamable $x19 = COPY $x0
    Bcc 11, %bb.2, implicit $nzcv
    B %bb.1

  bb.1:
    liveins: $w19
    $w0 = COPY $w19
    RET $x0

  bb.2:
    liveins: $x0, $x19
    $x0 = ADDXrr $x0, $x19
    RET $x0
...
