[PATCH] D82451: [AMDGPU] Fix DPP Combiner:
Valery Pykhtin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 24 04:49:54 PDT 2020
vpykhtin created this revision.
vpykhtin added reviewers: arsenm, rampitec, foad.
Herald added subscribers: llvm-commits, kerbowa, kbarton, hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, wdng, jvesely, nemanjai, kzhuravl.
Herald added a project: LLVM.
1. skip multiple per instruction DPP register usage.
2. don't combine when DPP register is used as part of superreg/supersubreg.
I had to refactor the code to fix the first issue, so that the check for
multiple uses of DPP register can be done for all uses. In the process
I discovered that the combiner can try to combine DPP registers that
are part of superreg (REG_SEQUENCE) and aren't used as independent lanes.
execMayBeModifiedBeforeAnyUse is now called once for all uses. Number of
uses is constrained by the caller.
I removed code patching REG_SEQUENCE but instead stopped deleting original
DPP mov instruction, it will be deleted in the DCE.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D82451
Files:
llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
llvm/lib/Target/AMDGPU/SIInstrInfo.h
llvm/test/CodeGen/AMDGPU/dpp_combine.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D82451.272977.patch
Type: text/x-patch
Size: 15328 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200624/dcb55eea/attachment.bin>
More information about the llvm-commits
mailing list