Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / optimize-exec-masking-strip-terminator-bits.mir
blobb864f803e1041d5aca2bd8d2439f05988dcf7bf4
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=fiji -verify-machineinstrs -run-pass=si-optimize-exec-masking -o - %s | FileCheck %s
4 # There are multiple _term pseudos here. Starting from the end of the
5 # block, they all need to be converted to regular copies removed in
6 # order to avoid making the verifier unhappy.
8 ---
9 name:  multi_term_pseudos
10 tracksRegLiveness: true
11 body:             |
12   ; CHECK-LABEL: name: multi_term_pseudos
13   ; CHECK: bb.0:
14   ; CHECK-NEXT:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
15   ; CHECK-NEXT:   liveins: $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9
16   ; CHECK-NEXT: {{  $}}
17   ; CHECK-NEXT:   $exec = COPY killed renamable $sgpr4_sgpr5
18   ; CHECK-NEXT:   renamable $sgpr10_sgpr11 = COPY killed renamable $sgpr6_sgpr7, implicit $exec
19   ; CHECK-NEXT:   renamable $sgpr12_sgpr13 = COPY killed renamable $sgpr8_sgpr9, implicit $exec
20   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.1, implicit $exec
21   ; CHECK-NEXT:   S_BRANCH %bb.2
22   ; CHECK-NEXT: {{  $}}
23   ; CHECK-NEXT: bb.1:
24   ; CHECK-NEXT:   liveins: $sgpr12_sgpr13
25   ; CHECK-NEXT: {{  $}}
26   ; CHECK-NEXT:   S_ENDPGM 0, implicit $sgpr12_sgpr13
27   ; CHECK-NEXT: {{  $}}
28   ; CHECK-NEXT: bb.2:
29   ; CHECK-NEXT:   liveins: $sgpr12_sgpr13
30   ; CHECK-NEXT: {{  $}}
31   ; CHECK-NEXT:   S_ENDPGM 0, implicit $sgpr12_sgpr13
32   bb.0:
33     successors: %bb.2(0x40000000), %bb.1(0x40000000)
34     liveins: $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9
35     $exec = S_MOV_B64_term killed renamable $sgpr4_sgpr5
36     renamable $sgpr10_sgpr11 = S_MOV_B64_term killed renamable $sgpr6_sgpr7, implicit $exec
37     renamable $sgpr12_sgpr13 = S_MOV_B64_term killed renamable $sgpr8_sgpr9, implicit $exec
38     S_CBRANCH_EXECZ %bb.1, implicit $exec
39     S_BRANCH %bb.2
41   bb.1:
42     liveins: $sgpr12_sgpr13
43     S_ENDPGM 0, implicit $sgpr12_sgpr13
45   bb.2:
46     liveins: $sgpr12_sgpr13
47     S_ENDPGM 0, implicit $sgpr12_sgpr13
49 ...