| # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py |
| # RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass=simple-register-coalescing -o - %s | FileCheck -check-prefix=GCN %s |
| |
| # Test used to crash with message: |
| # JoinVals::ConflictResolution (anonymous namespace)::JoinVals::analyzeValue(unsigned int, (anonymous namespace)::JoinVals &): Assertion `DefMI != nullptr' failed |
| |
| --- |
| name: test |
| tracksRegLiveness: true |
| body: | |
| ; GCN-LABEL: name: test |
| ; GCN: bb.0: |
| ; GCN-NEXT: successors: %bb.2(0x80000000) |
| ; GCN-NEXT: {{ $}} |
| ; GCN-NEXT: undef %1.sub0:vreg_128 = IMPLICIT_DEF |
| ; GCN-NEXT: %1.sub1:vreg_128 = IMPLICIT_DEF |
| ; GCN-NEXT: S_BRANCH %bb.2 |
| ; GCN-NEXT: {{ $}} |
| ; GCN-NEXT: bb.1: |
| ; GCN-NEXT: successors: %bb.2(0x80000000) |
| ; GCN-NEXT: {{ $}} |
| ; GCN-NEXT: [[DEF:%[0-9]+]]:vreg_128 = IMPLICIT_DEF |
| ; GCN-NEXT: {{ $}} |
| ; GCN-NEXT: bb.2: |
| ; GCN-NEXT: [[DEF]].sub2:vreg_128 = COPY undef %3:sreg_32 |
| ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]] |
| bb.0: |
| undef %0.sub0:vreg_128 = IMPLICIT_DEF |
| %0.sub1:vreg_128 = IMPLICIT_DEF |
| %1:vreg_128 = COPY %0 |
| %2:vreg_128 = COPY killed %0 |
| S_BRANCH %bb.2 |
| |
| bb.1: |
| %1:vreg_128 = COPY killed undef %1 |
| |
| bb.2: |
| %1.sub2:vreg_128 = COPY undef %3:sreg_32 |
| %2:vreg_128 = COPY killed %1 |
| %4:vreg_128 = COPY killed %2 |
| S_ENDPGM 0, implicit killed %4 |
| |
| ... |