1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00
llvm-mirror/test/CodeGen/AMDGPU/dce-disjoint-intervals.mir
Stanislav Mekhanoshin 196e7f3138 [AMDGPU] Use single cache policy operand
Replace individual operands GLC, SLC, and DLC with a single cache_policy
bitmask operand. This will reduce the number of operands in MIR and I hope
the amount of code. These operands are mostly 0 anyway.

Additional advantage that parser will accept these flags in any order unlike
now.

Differential Revision: https://reviews.llvm.org/D96469
2021-03-15 13:00:59 -07:00

39 lines
1.0 KiB
YAML

# RUN: llc -mtriple=amdgcn-- -run-pass=liveintervals,dead-mi-elimination,simple-register-coalescing -verify-machineinstrs -o - %s | FileCheck -check-prefix=GCN %s
# This is used to fail verififcation if MachineDCE tracks LIS.
# GCN-LABEL: name: foo
# GCN: S_ENDPGM
---
name: foo
tracksRegLiveness: true
body: |
bb.0:
liveins: $sgpr0_sgpr1
%10:sgpr_128 = S_LOAD_DWORDX4_IMM killed $noreg, 9, 0
S_NOP 0, implicit-def %4:sgpr_128, implicit %10.sub1:sgpr_128
S_CBRANCH_SCC0 %bb.3, implicit undef $scc
S_BRANCH %bb.1
bb.1:
S_CBRANCH_SCC0 %bb.2, implicit undef $scc
S_BRANCH %bb.3
bb.2:
%8:sreg_32_xm0 = COPY %4.sub1:sgpr_128
%7:sreg_32_xm0 = COPY %10.sub1:sgpr_128
S_BRANCH %bb.4
bb.3:
%10:sgpr_128 = S_LOAD_DWORDX4_IMM killed $noreg, 10, 0
%7:sreg_32_xm0 = COPY %10.sub1:sgpr_128
%8:sreg_32_xm0 = COPY %10.sub2:sgpr_128
bb.4:
S_NOP 0, implicit %10
$sgpr0 = COPY %8:sreg_32_xm0
$sgpr1 = COPY %7:sreg_32_xm0
S_ENDPGM 0, implicit $sgpr0, implicit $sgpr1
...