[PATCH] D117515: PostRAPseudos: Don't preserve kills on some implicit copy operands

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 17 14:25:12 PST 2022


arsenm created this revision.
arsenm added reviewers: qcolombet, MatzeB, kparzysz.
Herald added subscribers: kerbowa, pengfei, hiraditya, tpr, nhaehnle, jvesely.
arsenm requested review of this revision.
Herald added a subscriber: wdng.
Herald added a project: LLVM.

This fixes a verifier error I ran into at -O0. A subregister copy had
an implicit kill of an overlapping superregister, which was partially
redefined by the copy. The preserved implicit operand killed
subregisters made live earlier in the sequence. AMDGPU already uses
similar logic for whether to preserve the kill of the superregister on
the final instruction if there's overlap.


https://reviews.llvm.org/D117515

Files:
  llvm/lib/CodeGen/ExpandPostRAPseudos.cpp
  llvm/test/CodeGen/AMDGPU/copy-phys-reg-implicit-operand-kills-subregs.mir
  llvm/test/CodeGen/AMDGPU/overlapping-tuple-copy-implicit-op-failure.ll
  llvm/test/CodeGen/X86/pr28560.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D117515.400645.patch
Type: text/x-patch
Size: 8086 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220117/c05d1c76/attachment.bin>


More information about the llvm-commits mailing list