diff options
| author | Michael Liao <michael.hliao@gmail.com> | 2020-01-08 10:50:23 -0500 |
|---|---|---|
| committer | Michael Liao <michael.hliao@gmail.com> | 2020-01-14 19:26:15 -0500 |
| commit | 01a4b83154760ea286117ac4de9576b8a215cb8d (patch) | |
| tree | 68efc961854ebd364ba9a3df93b2f28cc94734f8 /llvm/lib/Target/AMDGPU | |
| parent | 47c6ab2b97773ee5fb360fc093a5824be64b8c68 (diff) | |
| download | bcm5719-llvm-01a4b83154760ea286117ac4de9576b8a215cb8d.tar.gz bcm5719-llvm-01a4b83154760ea286117ac4de9576b8a215cb8d.zip | |
[codegen,amdgpu] Enhance MIR DIE and re-arrange it for AMDGPU.
Summary:
- `dead-mi-elimination` assumes MIR in the SSA form and cannot be
arranged after phi elimination or DeSSA. It's enhanced to handle the
dead register definition by skipping use check on it. Once a register
def is `dead`, all its uses, if any, should be `undef`.
- Re-arrange the DIE in RA phase for AMDGPU by placing it directly after
`detect-dead-lanes`.
- Many relevant tests are refined due to different register assignment.
Reviewers: rampitec, qcolombet, sunfish
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72709
Diffstat (limited to 'llvm/lib/Target/AMDGPU')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp index 0d05f2445ba..57853963b01 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp @@ -948,7 +948,7 @@ void GCNPassConfig::addOptimizedRegAlloc() { insertPass(&RegisterCoalescerID, &SIPreAllocateWWMRegsID, false); if (EnableDCEInRA) - insertPass(&RenameIndependentSubregsID, &DeadMachineInstructionElimID); + insertPass(&DetectDeadLanesID, &DeadMachineInstructionElimID); TargetPassConfig::addOptimizedRegAlloc(); } |

