# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass simple-register-coalescing -verify-machineinstrs -o - %s | FileCheck %s
#
# The failure occurs when the coalescer tries to removePartialRedundency() on the
# "%2:vreg_64 = COPY %3" in bb.1. The coalescer tries to prune and extend each
# subrange of %2, the subrange for %2.sub1 has a def location (in bb.2) in the
# predecessor path 2->3->1. But for another predecessor path 0->4->1,
# the subrange has only one undef location in bb.0. If we don't compute Undef set,
# it will fail to find the reaching def for %2.sub1 in predecessor bb.4 and bb.0
# and crash with error message:
# "Use of $noreg does not have a corresponding definition on every path
#  LLVM ERROR: Use not jointly dominated by defs"

---
name:            _amdgpu_ps_main
alignment:       1
tracksRegLiveness: true
body:             |
  ; CHECK-LABEL: name: _amdgpu_ps_main
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.2(0x40000000), %bb.4(0x40000000)
  ; CHECK-NEXT:   liveins: $sgpr2, $sgpr3, $vgpr3
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:sgpr_32 = COPY $sgpr2
  ; CHECK-NEXT:   undef %1.sub0:vreg_64 = COPY [[COPY]]
  ; CHECK-NEXT:   undef %2.sub0:vreg_64 = COPY [[COPY]]
  ; CHECK-NEXT:   S_CBRANCH_VCCNZ %bb.2, implicit undef $vcc
  ; CHECK-NEXT:   S_BRANCH %bb.4
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_NOP 0, implicit %2.sub0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   successors: %bb.3(0x04000000), %bb.2(0x7c000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   [[COPY1:%[0-9]+]]:vreg_64 = COPY %2
  ; CHECK-NEXT:   %1.sub0:vreg_64 = COPY [[COPY1]].sub0
  ; CHECK-NEXT:   [[COPY2:%[0-9]+]]:vreg_64 = COPY %1
  ; CHECK-NEXT:   S_CBRANCH_EXECNZ %bb.2, implicit undef $exec
  ; CHECK-NEXT:   S_BRANCH %bb.3
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.3:
  ; CHECK-NEXT:   successors: %bb.1(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   [[COPY3:%[0-9]+]]:vreg_64 = COPY [[COPY1]]
  ; CHECK-NEXT:   S_BRANCH %bb.1
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.4:
  ; CHECK-NEXT:   successors: %bb.1(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_BRANCH %bb.1
  bb.0:
    liveins: $sgpr2, $sgpr3, $vgpr3

    %0:sgpr_32 = COPY $sgpr2
    undef %1.sub0:vreg_64 = COPY %0
    undef %2.sub0:vreg_64 = COPY %0
    S_CBRANCH_VCCNZ %bb.2, implicit undef $vcc
    S_BRANCH %bb.4

  bb.1:
    %2:vreg_64 = COPY %3
    S_NOP 0, implicit %2.sub0

  bb.2:
    successors: %bb.3(0x04000000), %bb.2(0x7c000000)

    %3:vreg_64 = COPY %2
    %1.sub0:vreg_64 = COPY %3.sub0
    %2:vreg_64 = COPY %1
    S_CBRANCH_EXECNZ %bb.2, implicit undef $exec
    S_BRANCH %bb.3

  bb.3:
    S_BRANCH %bb.1

  bb.4:
    %3:vreg_64 = COPY %2
    S_BRANCH %bb.1

...
