Skip to content

Commit a9177fe

Browse files
committed
Test IMPLICIT_DEF. Revert special handling for meta instructions.
1 parent 574f561 commit a9177fe

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ bool SIPreEmitPeephole::optimizeSetGPR(MachineInstr &First,
299299
for (MachineBasicBlock::instr_iterator I = std::next(First.getIterator()),
300300
E = MI.getIterator();
301301
I != E; ++I) {
302-
if (I->isBundle() || I->isMetaInstruction())
302+
if (I->isBundle() || I->isDebugInstr())
303303
continue;
304304
switch (I->getOpcode()) {
305305
case AMDGPU::S_SET_GPR_IDX_MODE:

llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,21 @@ body: |
4242
...
4343

4444
---
45-
name: kill_in_between
45+
name: meta_in_between
4646
body: |
4747
bb.0:
48-
; GCN-LABEL: name: kill_in_between
48+
; GCN-LABEL: name: meta_in_between
4949
; GCN: S_SET_GPR_IDX_ON $sgpr2, 1, implicit-def $m0, implicit-def $mode, implicit undef $m0, implicit $mode
5050
; GCN-NEXT: $vgpr16 = V_MOV_B32_indirect_read undef $vgpr1, implicit $exec, implicit $m0, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
5151
; GCN-NEXT: KILL $sgpr0
52+
; GCN-NEXT: $sgpr0 = IMPLICIT_DEF
5253
; GCN-NEXT: $vgpr15 = V_MOV_B32_indirect_read undef $vgpr0, implicit $exec, implicit $m0, implicit killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
5354
; GCN-NEXT: S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
5455
S_SET_GPR_IDX_ON $sgpr2, 1, implicit-def $m0, implicit-def $mode, implicit undef $m0, implicit $mode
5556
$vgpr16 = V_MOV_B32_indirect_read undef $vgpr1, implicit $exec, implicit $m0, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
5657
S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode
5758
KILL $sgpr0
59+
$sgpr0 = IMPLICIT_DEF
5860
S_SET_GPR_IDX_ON killed $sgpr2, 1, implicit-def $m0, implicit-def $mode, implicit undef $m0, implicit $mode
5961
$vgpr15 = V_MOV_B32_indirect_read undef $vgpr0, implicit $exec, implicit $m0, implicit killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
6062
S_SET_GPR_IDX_OFF implicit-def $mode, implicit $mode

0 commit comments

Comments
 (0)