forked from OSchip/llvm-project
56 lines
1.5 KiB
YAML
56 lines
1.5 KiB
YAML
# RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs -run-pass dead-mi-elimination -o - %s | FileCheck -check-prefix=GCN %s
|
|
|
|
# GCN-LABEL: name: dead_undef
|
|
# GCN: bb.0:
|
|
# GCN-NEXT: S_ENDPGM 0
|
|
---
|
|
name: dead_undef
|
|
tracksRegLiveness: true
|
|
registers:
|
|
- { id: 0, class: vgpr_32 }
|
|
- { id: 1, class: vgpr_32 }
|
|
- { id: 2, class: vgpr_32 }
|
|
body: |
|
|
bb.0:
|
|
%0 = IMPLICIT_DEF
|
|
%1 = IMPLICIT_DEF
|
|
dead %2:vgpr_32 = V_MAC_F32_e32 %0:vgpr_32, %1:vgpr_32, undef %2:vgpr_32, implicit $exec
|
|
S_ENDPGM 0
|
|
|
|
# GCN-LABEL: name: dead_defined
|
|
# GCN: bb.0:
|
|
# GCN-NEXT: S_ENDPGM 0
|
|
---
|
|
name: dead_defined
|
|
tracksRegLiveness: true
|
|
registers:
|
|
- { id: 0, class: vgpr_32 }
|
|
- { id: 1, class: vgpr_32 }
|
|
- { id: 2, class: vgpr_32 }
|
|
body: |
|
|
bb.0:
|
|
%0 = IMPLICIT_DEF
|
|
%1 = IMPLICIT_DEF
|
|
%2 = IMPLICIT_DEF
|
|
dead %2:vgpr_32 = V_MAC_F32_e32 %0:vgpr_32, %1:vgpr_32, %2:vgpr_32, implicit $exec
|
|
S_ENDPGM 0
|
|
|
|
# Probably this dead mac can be removed anyway.
|
|
# GCN-LABEL: name: dead_def_live_use
|
|
# GCN: dead %2:vgpr_32 = V_MAC_F32_e32 %0, %1, %2, implicit $exec
|
|
---
|
|
name: dead_def_live_use
|
|
tracksRegLiveness: true
|
|
registers:
|
|
- { id: 0, class: vgpr_32 }
|
|
- { id: 1, class: vgpr_32 }
|
|
- { id: 2, class: vgpr_32 }
|
|
body: |
|
|
bb.0:
|
|
%0 = IMPLICIT_DEF
|
|
%1 = IMPLICIT_DEF
|
|
%2 = IMPLICIT_DEF
|
|
GLOBAL_STORE_DWORD undef $vgpr0_vgpr1, %2, 0, 0, 0, implicit $exec
|
|
dead %2:vgpr_32 = V_MAC_F32_e32 %0:vgpr_32, %1:vgpr_32, %2:vgpr_32, implicit $exec
|
|
S_ENDPGM 0
|