# RUN: llc -mtriple=aarch64--linux-gnu -run-pass=aarch64-copyelim %s -verify-machineinstrs -o - | FileCheck %s
---
# Check that bb.0 COPY is seen through to allow the bb.1 COPY of XZR to be removed.
# CHECK-LABEL: name: test1
# CHECK-NOT: COPY $xzr
name:            test1
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x1

    $x0 = COPY $x1
    CBNZX $x1, %bb.2

  bb.1:
    $x0 = COPY $xzr
    B %bb.3

  bb.2:
    liveins: $x1

    $x0 = LDRXui $x1, 0

  bb.3:
    liveins: $x0

    RET_ReallyLR implicit $x0

...
# Similar to test1, but with reversed COPY.
# CHECK-LABEL: name: test2
# CHECK-NOT: COPY $xzr
name:            test2
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x1

    $x1 = COPY $x0
    CBNZX $x1, %bb.2

  bb.1:
    $x0 = COPY $xzr
    B %bb.3

  bb.2:
    liveins: $x1

    $x0 = LDRXui $x1, 0

  bb.3:
    liveins: $x0

    RET_ReallyLR implicit $x0

...
# Similar to test1, but with a clobber that prevents removal of the XZR COPY.
# CHECK-LABEL: name: test3
# CHECK: COPY $xzr
name:            test3
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x1, $x2

    $x0 = COPY $x1
    $x1 = LDRXui $x1, 0
    CBNZX $x1, %bb.2

  bb.1:
    $x0 = COPY $xzr
    B %bb.3

  bb.2:
    liveins: $x1

    $x0 = LDRXui $x1, 0

  bb.3:
    liveins: $x0

    RET_ReallyLR implicit $x0

...
# Similar to test2, but with a clobber that prevents removal of the XZR COPY.
# CHECK-LABEL: name: test4
# CHECK: COPY $xzr
name:            test4
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x1, $x2

    $x1 = COPY $x0
    $x1 = LDRXui $x1, 0
    CBNZX $x1, %bb.2

  bb.1:
    $x0 = COPY $xzr
    B %bb.3

  bb.2:
    liveins: $x1

    $x0 = LDRXui $x1, 0

  bb.3:
    liveins: $x0

    RET_ReallyLR implicit $x0

...
# Similar to test2, but with a clobber that prevents removal of the XZR COPY.
# CHECK-LABEL: name: test5
# CHECK: COPY $xzr
name:            test5
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x1, $x2

    $x1 = COPY $x0
    $x0 = LDRXui $x1, 0
    CBNZX $x1, %bb.2

  bb.1:
    $x0 = COPY $xzr
    B %bb.3

  bb.2:
    liveins: $x1

    $x0 = LDRXui $x1, 0

  bb.3:
    liveins: $x0

    RET_ReallyLR implicit $x0

...
# Similar to test1, but with two levels of COPYs.
# CHECK-LABEL: name: test6
# CHECK-NOT: COPY $xzr
name:            test6
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x1, $x2

    $x2 = COPY $x0
    $x1 = COPY $x2
    CBNZX $x1, %bb.2

  bb.1:
    $x0 = COPY $xzr
    B %bb.3

  bb.2:
    liveins: $x1

    $x0 = LDRXui $x1, 0

  bb.3:
    liveins: $x0

    RET_ReallyLR implicit $x0

...
# Similar to test1, but with two levels of COPYs and a clobber preventing COPY of XZR removal.
# CHECK-LABEL: name: test7
# CHECK: COPY $xzr
name:            test7
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x1, $x2

    $x2 = COPY $x0
    $x0 = LDRXui $x1, 0
    $x1 = COPY $x2
    CBNZX $x1, %bb.2

  bb.1:
    $x0 = COPY $xzr
    B %bb.3

  bb.2:
    liveins: $x1

    $x0 = LDRXui $x1, 0

  bb.3:
    liveins: $x0

    RET_ReallyLR implicit $x0

...
# Check that the TargetRegs vector clobber update loop in
#  AArch64RedundantCopyElimination::optimizeCopy works correctly.
# CHECK-LABEL: name: test8
# CHECK: x0 = COPY $xzr
# CHECK: x1 = COPY $xzr
name:            test8
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x1

    $x1 = COPY $x0
    CBNZX $x1, %bb.2

  bb.1:
    liveins: $x0, $x2

    $x0, $x1 = LDPXi $x2, 0
    $x0 = COPY $xzr
    $x1 = COPY $xzr
    B %bb.3

  bb.2:
    liveins: $x1

    $x0 = LDRXui $x1, 0

  bb.3:
    liveins: $x0

    RET_ReallyLR implicit $x0

...
# Check that copy isn't removed from a block with multiple predecessors.
# CHECK-LABEL: name: test9
# CHECK: x0 = COPY $xzr
# CHECK-NEXT: B %bb.3
name:            test9
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x1

    CBNZX $x0, %bb.2

  bb.1:
    liveins: $x0, $x2

    $x0 = COPY $xzr
    B %bb.3

  bb.2:
    liveins: $x1

    $x0 = LDRXui $x1, 0

    CBNZX $x1, %bb.1

  bb.3:
    liveins: $x0

    RET_ReallyLR implicit $x0

...
# Eliminate redundant MOVi32imm 7 in bb.1
# Note: 32-bit compare/32-bit move imm
# Kill marker should be removed from compare.
# CHECK-LABEL: name: test10
# CHECK: SUBSWri $w0, 7, 0, implicit-def $nzcv
# CHECK: bb.1:
# CHECK-NOT: MOVi32imm
name:            test10
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $w0, $x1

    dead $wzr = SUBSWri killed $w0, 7, 0, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $w0 = MOVi32imm 7
    STRWui killed $w0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Eliminate redundant MOVi32imm 7 in bb.1
# Note: 64-bit compare/32-bit move imm w/implicit def
# Kill marker should be removed from compare.
# CHECK-LABEL: name: test11
# CHECK: SUBSXri $x0, 7, 0, implicit-def $nzcv
# CHECK: bb.1:
# CHECK-NOT: MOVi32imm
name:            test11
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $x0, $x1

    dead $xzr = SUBSXri killed $x0, 7, 0, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $w0 = MOVi32imm 7, implicit-def $x0
    STRXui killed $x0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Eliminate redundant MOVi32imm 7 in bb.1
# Note: 64-bit compare/32-bit move imm
# Kill marker should be removed from compare.
# CHECK-LABEL: name: test12
# CHECK: SUBSXri $x0, 7, 0, implicit-def $nzcv
# CHECK: bb.1:
# CHECK-NOT: MOVi32imm
name:            test12
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $x0, $x1

    dead $xzr = SUBSXri killed $x0, 7, 0, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $w0 = MOVi32imm 7
    STRWui killed $w0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Don't eliminate MOVi32imm 7 in bb.1 as we don't necessarily know the upper 32-bits.
# Note: 32-bit compare/32-bit move imm w/implicit def
# Kill marker should remain on compare.
# CHECK-LABEL: name: test13
# CHECK: SUBSWri killed $w0, 7, 0, implicit-def $nzcv
# CHECK: bb.1:
# CHECK: MOVi32imm
name:            test13
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $w0, $x1

    dead $wzr = SUBSWri killed $w0, 7, 0, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $w0 = MOVi32imm 7, implicit-def $x0
    STRXui killed $x0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# We can't eliminate the MOVi32imm because of the clobbering LDRWui.
# CHECK-LABEL: name: test14
# CHECK: bb.1:
# CHECK: MOVi32imm
name:            test14
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $w0, $x1, $x2

    dead $wzr = SUBSWri killed $w0, 7, 0, implicit-def $nzcv
    $w0 = LDRWui $x1, 0
    STRWui killed $w0, killed $x2, 0
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $w0 = MOVi32imm 7
    STRWui killed $w0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# We can't eliminate the MOVi32imm because of the clobbering LDRWui.
# CHECK-LABEL: name: test15
# CHECK: bb.1:
# CHECK: MOVi32imm
name:            test15
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $w0, $x1, $x2

    dead $wzr = SUBSWri killed $w0, 7, 0, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1, $x2

    $w0 = LDRWui $x1, 0
    STRWui killed $w0, killed $x2, 0
    $w0 = MOVi32imm 7
    STRWui killed $w0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Check that bb.0 COPY is seen through to allow the bb.1 MOVi32imm to be removed.
# CHECK-LABEL: name: test16
# CHECK: bb.1:
# CHECK-NOT: MOVi32imm
name:            test16
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $w0, $x1

    dead $wzr = SUBSWri $w0, 7, 0, implicit-def $nzcv
    $w2 = COPY $w0
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $w2 = MOVi32imm 7
    STRWui killed $w2, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Check that bb.1 MOVi32imm is not removed due to self clobbering compare.
# CHECK-LABEL: name: test17
# CHECK: bb.1:
# CHECK: MOVi32imm
name:            test17
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $w0, $x1

    dead $w0 = SUBSWri killed $w0, 7, 0, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $w0 = MOVi32imm 7
    STRWui killed $w0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Make sure the MOVi64imm is not removed.  In one version of this patch the
# MOVi64imm immediate was truncated to 32 bits and incorrectly matched because
# the low 32 bits of 4252017623040 are all zero.
# CHECK-LABEL: name: test18
# CHECK: bb.1:
# CHECK: MOVi64imm
name:            test18
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $x0, $x1

    CBNZX killed $x0, %bb.2
    B %bb.1

  bb.1:
    liveins: $x1

    $x0 = MOVi64imm 4252017623040
    STRXui killed $x0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Eliminate redundant MOVi32imm -1 in bb.1
# Note: 32-bit compare/32-bit move imm
# Kill marker should be removed from compare.
# CHECK-LABEL: name: test19
# CHECK: ADDSWri $w0, 1, 0, implicit-def $nzcv
# CHECK: bb.1:
# CHECK-NOT: MOVi32imm
name:            test19
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $w0, $x1

    dead $wzr = ADDSWri killed $w0, 1, 0, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $w0 = MOVi32imm -1
    STRWui killed $w0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Eliminate redundant MOVi64imm -1 in bb.1
# Note: 64-bit compare/64-bit move imm
# Kill marker should be removed from compare.
# CHECK-LABEL: name: test20
# CHECK: ADDSXri $x0, 1, 0, implicit-def $nzcv
# CHECK: bb.1:
# CHECK-NOT: MOVi64imm
name:            test20
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x1

    dead $xzr = ADDSXri killed $x0, 1, 0, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $x0 = MOVi64imm -1
    STRXui killed $x0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Eliminate redundant MOVi32imm -1 in bb.1
# Note: 64-bit compare/32-bit move imm
# Kill marker should be removed from compare.
# CHECK-LABEL: name: test21
# CHECK: ADDSXri $x0, 1, 0, implicit-def $nzcv
# CHECK: bb.1:
# CHECK-NOT: MOVi32imm
name:            test21
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $x0, $x1

    dead $xzr = ADDSXri killed $x0, 1, 0, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $w0 = MOVi32imm -1
    STRWui killed $w0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Don't eliminate MOVi64imm -1 in bb.1 as we don't necessarily know the upper 32-bits.
# Note: 32-bit compare/64-bit move imm
# CHECK-LABEL: name: test22
# CHECK: bb.1:
# CHECK: MOVi64imm
name:            test22
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $w0, $x1

    dead $wzr = ADDSWri killed $w0, 1, 0, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $x0 = MOVi64imm -1
    STRXui killed $x0, killed $x1, 0

  bb.2:
    RET_ReallyLR
...
# Eliminate redundant MOVi32imm 4096 in bb.1 when the compare has a shifted immediate.
# CHECK-LABEL: name: test23
# CHECK: bb.1:
# CHECK-NOT: MOVi32imm
name:            test23
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $w0, $x1

    dead $wzr = SUBSWri killed $w0, 1, 12, implicit-def $nzcv
    Bcc 1, %bb.2, implicit killed $nzcv
    B %bb.1

  bb.1:
    liveins: $x1

    $w0 = MOVi32imm 4096
    STRWui killed $w0, killed $x1, 0

  bb.2:
    RET_ReallyLR
