[all-commits] [llvm/llvm-project] 5babad: Pre-commit tests

Sander de Smalen via All-commits all-commits at lists.llvm.org
Mon Jan 6 07:34:51 PST 2025


  Branch: refs/heads/users/sdesmalen-arm/srlt-fix-coalescer-the-sequel
  Home:   https://github.com/llvm/llvm-project
  Commit: 5babad18cb92f708f93c5a0512918ff5e7368fba
      https://github.com/llvm/llvm-project/commit/5babad18cb92f708f93c5a0512918ff5e7368fba
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir

  Log Message:
  -----------
  Pre-commit tests


  Commit: b7afd88e94e1b80d35b4eb7b712976200857ad3a
      https://github.com/llvm/llvm-project/commit/b7afd88e94e1b80d35b4eb7b712976200857ad3a
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir

  Log Message:
  -----------
  [Coalescer] Consider NewMI's subreg index when updating lanemask.

The code added in #116191 that updated the lanemasks for rematerialized
values, checked if DefMI's destination reg had a subreg index.
This seems to have missed the following case:

  %0:gpr32 = MOVi32imm 1
  %1:gpr64 = SUBREG_TO_REG 0, %0:gpr32, %subreg.sub_32

which during rematerialization would have the following variables set:

  DefMI = %0:gpr32 = MOVi32imm 1

  NewMI = %3.sub_32:gpr64 = MOVi32imm 1   (rematerialized value)

When checking whether the lanemasks need to be generated, considering
whether DefMI's destination has a subreg index is insufficient, we should
look at DefMI's subreg index instead.

The added tests are a bit more involved, because I was not able to
reconstruct the issue without having some control flow in the test.
These tests come from actual reproducers.


Compare: https://github.com/llvm/llvm-project/compare/5babad18cb92%5E...b7afd88e94e1

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list