Allow machine dce to remove uses in the same instruction
authorStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
Wed, 20 Mar 2019 21:42:05 +0000 (21:42 +0000)
committerStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
Wed, 20 Mar 2019 21:42:05 +0000 (21:42 +0000)
commit0a11829ab23ac478226cdf97cc0434dd4557abff
tree2f1de4422927687bb424accf3ffbb11f1936a4f5
parent03675533043ddbf2ad27f260ccc410952977f574
Allow machine dce to remove uses in the same instruction

Machine DCE cannot remove a dead definition if there are non-dbg uses.
A use however can be in the same instruction:

  dead %0 = INST %0

Such instructions sometimes created by Detect dead lanes pass.

Allow this instruction to be deleted despite the use if the only use
belongs to the same instruction.

Differential Revision: https://reviews.llvm.org/D59565

llvm-svn: 356619
llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
llvm/test/CodeGen/AMDGPU/dead-mi-use-same-intr.mir [new file with mode: 0644]