[all-commits] [llvm/llvm-project] 6f1474: [RegAlloc] Constrain rematted regclass to use (#16...

Luke Lau via All-commits all-commits at lists.llvm.org
Wed Oct 22 20:06:01 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6f147445f7cfa8b5f09f154b63ef8073ed6243a1
      https://github.com/llvm/llvm-project/commit/6f147445f7cfa8b5f09f154b63ef8073ed6243a1
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-10-23 (Thu, 23 Oct 2025)

  Changed paths:
    M llvm/lib/CodeGen/InlineSpiller.cpp
    A llvm/test/CodeGen/AArch64/pr164181.ll

  Log Message:
  -----------
  [RegAlloc] Constrain rematted regclass to use (#164386)

When rematting we create a new virtual register with the original def's
register class. However the use may have a different register class if
the interval is split, which means we end up with an invalid register
class.

This fixes #164181 by constraining the newly created register to the
use's register class.

The test case is reduced as far as it goes. Because this test requires
us to reach a certain amount of register pressure in certain conditions
I'm not sure if there's an easy way to handwrite this scenario.



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