xref: /llvm-project/llvm/test/CodeGen/AMDGPU/return-with-successors.mir (revision abde52aa667118d18e9551ab87a15b95c267b3b6)
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -verify-machineinstrs -run-pass=liveintervals -o - %s | FileCheck %s
3# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 --passes='print<live-intervals>' -o - %s | FileCheck %s
4# Test that getNoPreservedMask is implemented, which is called when
5# return blocks have successors.
6
7---
8name: endpgm_with_successors
9tracksRegLiveness: true
10body:             |
11  ; CHECK-LABEL: name: endpgm_with_successors
12  ; CHECK: bb.0:
13  ; CHECK-NEXT:   successors: %bb.1(0x80000000)
14  ; CHECK-NEXT: {{  $}}
15  ; CHECK-NEXT:   S_ENDPGM 0
16  ; CHECK-NEXT: {{  $}}
17  ; CHECK-NEXT: bb.1:
18  ; CHECK-NEXT:   S_NOP 0
19  bb.0:
20    successors: %bb.1
21    S_ENDPGM 0
22
23  bb.1:
24    S_NOP 0
25
26...
27
28---
29name: setpc_with_successors
30tracksRegLiveness: true
31body:             |
32  ; CHECK-LABEL: name: setpc_with_successors
33  ; CHECK: bb.0:
34  ; CHECK-NEXT:   successors: %bb.1(0x80000000)
35  ; CHECK-NEXT:   liveins: $sgpr30_sgpr31
36  ; CHECK-NEXT: {{  $}}
37  ; CHECK-NEXT:   S_SETPC_B64 $sgpr30_sgpr31
38  ; CHECK-NEXT: {{  $}}
39  ; CHECK-NEXT: bb.1:
40  ; CHECK-NEXT:   S_NOP 0
41  bb.0:
42    liveins: $sgpr30_sgpr31
43    successors: %bb.1
44    S_SETPC_B64 $sgpr30_sgpr31
45
46  bb.1:
47    S_NOP 0
48
49...
50