[all-commits] [llvm/llvm-project] 24865a: [Inline Spiller] Pre-commit test

Piotr Sobczak via All-commits all-commits at lists.llvm.org
Thu Oct 26 02:56:32 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 24865a6423bbdb0286a649c5a953af0e817bfee8
      https://github.com/llvm/llvm-project/commit/24865a6423bbdb0286a649c5a953af0e817bfee8
  Author: Piotr Sobczak <piotr.sobczak at amd.com>
  Date:   2023-10-26 (Thu, 26 Oct 2023)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/dead_bundle.mir

  Log Message:
  -----------
  [Inline Spiller] Pre-commit test


  Commit: 80abbeca8e52174157654ee33151da507d098ced
      https://github.com/llvm/llvm-project/commit/80abbeca8e52174157654ee33151da507d098ced
  Author: Piotr Sobczak <piotr.sobczak at amd.com>
  Date:   2023-10-26 (Thu, 26 Oct 2023)

  Changed paths:
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/test/CodeGen/AMDGPU/dead_bundle.mir

  Log Message:
  -----------
  [Inline Spiller] Consider bundles when marking defs as dead

Fix bug where the code expects just a single MI, but a series of
bundled MIs need to be handled instead.

The semi-formed bundled are created by SplitKit for the case where
not all lanes are live (buildSingleSubRegCopy). Then the remat
kicks in, and since the values that are copied in the bundle do not
need to be preserved due to the remat (dead defs), all instructions
in the bundle should be marked as dead.

However, only the first one gets marked as dead, which causes the
verifier to complain later with error: "Live range continues after
dead def flag".

Differential Revision: https://reviews.llvm.org/D156999


Compare: https://github.com/llvm/llvm-project/compare/737d2acd6863...80abbeca8e52


More information about the All-commits mailing list