[all-commits] [llvm/llvm-project] 29ce36: llvm-reduce: Fix introducing invalid uses of intri...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Jun 20 09:26:41 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 29ce3678c0188a4c9ee6576934c3e4abd72ff12d
      https://github.com/llvm/llvm-project/commit/29ce3678c0188a4c9ee6576934c3e4abd72ff12d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-06-20 (Tue, 20 Jun 2023)

  Changed paths:
    A llvm/test/tools/llvm-reduce/operands-skip-intrinsics.ll
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp

  Log Message:
  -----------
  llvm-reduce: Fix introducing invalid uses of intrinsics


  Commit: 7dcb9c0f09f89e2d6f527a480f214cf872c85b20
      https://github.com/llvm/llvm-project/commit/7dcb9c0f09f89e2d6f527a480f214cf872c85b20
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-06-20 (Tue, 20 Jun 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstrBundle.h
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/MachineInstrBundle.cpp
    M llvm/test/CodeGen/AMDGPU/greedy-instruction-split-subrange.mir
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    A llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
    M llvm/test/CodeGen/AMDGPU/swdev380865.ll
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-uniform-cases.ll
    M llvm/test/CodeGen/Thumb2/mve-vst3.ll

  Log Message:
  -----------
  InlineSpiller: Consider copy bundles when looking for snippet copies

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.


Compare: https://github.com/llvm/llvm-project/compare/bc1fb5666105...7dcb9c0f09f8


More information about the All-commits mailing list