[PATCH] D147072: InlineSpiller: Consider copy bundles when looking for snippet copies

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 28 11:39:57 PDT 2023


arsenm created this revision.
arsenm added reviewers: qcolombet, MatzeB, kparzysz, foad.
Herald added subscribers: luke, kosarev, StephenFan, frasercrmck, kerbowa, luismarques, apazos, sameer.abuasal, s.egerton, dmgreen, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya, jvesely.
Herald added a project: All.
arsenm requested review of this revision.
Herald added subscribers: pcwang-thead, MaskRay, wdng.
Herald added a project: LLVM.

This was looking for full copies produced by SplitKit, but SplitKit
introduces copy bundles if not all lanes are live. The scan for uses
needs to look at bundles, not individual instructions.

      

This is a prerequisite to avoiding some redundant spills due to
subregisters which will help avoid an allocation failure in a future
patch.


https://reviews.llvm.org/D147072

Files:
  llvm/include/llvm/CodeGen/MachineInstrBundle.h
  llvm/lib/CodeGen/InlineSpiller.cpp
  llvm/lib/CodeGen/LiveRangeEdit.cpp
  llvm/lib/CodeGen/MachineInstrBundle.cpp
  llvm/test/CodeGen/AMDGPU/greedy-instruction-split-subrange.mir
  llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
  llvm/test/CodeGen/AMDGPU/swdev380865.ll
  llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
  llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
  llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
  llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-uniform-cases.ll
  llvm/test/CodeGen/Thumb2/mve-vst3.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D147072.509085.patch
Type: text/x-patch
Size: 25180 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230328/6f4b58c2/attachment-0001.bin>


More information about the llvm-commits mailing list