| # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py |
| # RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -run-pass=early-tailduplication -verify-machineinstrs -o - %s | FileCheck %s |
| |
| # There are no phis in this testcase. Early tail duplication introduces them, |
| # so the NoPHIs property needs to be cleared to avoid verifier errors |
| |
| --- |
| name: tail_duplicate_nophis |
| tracksRegLiveness: true |
| body: | |
| ; CHECK-LABEL: name: tail_duplicate_nophis |
| ; CHECK: bb.0: |
| ; CHECK: successors: %bb.3(0x80000000) |
| ; CHECK: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0 |
| ; CHECK: S_BRANCH %bb.3 |
| ; CHECK: bb.2: |
| ; CHECK: successors: %bb.3(0x80000000) |
| ; CHECK: [[DEF:%[0-9]+]]:sreg_32 = IMPLICIT_DEF |
| ; CHECK: S_SLEEP 9 |
| ; CHECK: bb.3: |
| ; CHECK: successors: %bb.3(0x80000000) |
| ; CHECK: [[PHI:%[0-9]+]]:sreg_32 = PHI [[DEF]], %bb.2, %1, %bb.3, [[S_MOV_B32_]], %bb.0 |
| ; CHECK: S_NOP 0, implicit [[PHI]] |
| ; CHECK: S_SLEEP 1 |
| ; CHECK: [[S_MOV_B32_1:%[0-9]+]]:sreg_32 = S_MOV_B32 0 |
| ; CHECK: S_BRANCH %bb.3 |
| bb.1: |
| |
| bb.2: |
| %5:sreg_32 = S_MOV_B32 0 |
| S_BRANCH %bb.4 |
| |
| bb.3: |
| S_SLEEP 9 |
| |
| bb.4: |
| S_NOP 0, implicit %5 |
| S_SLEEP 1 |
| S_BRANCH %bb.2 |
| |
| ... |