Landing: 73f32a2cbd8c

Project / Subsystem

gcc / lra

Date

2026-06-29

Author

Robin Dapp

Commit

73f32a2cbd8c3b910443448f8ab4a2d79e3ff520

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
lra
patch_id
commit_hash
73f32a2cbd8c3b910443448f8ab4a2d79e3ff520
source_type
github
headline
lra: Pass INVALID_REGNUM to dependent filter.
tldr
Local Register Allocation (LRA) now passes an invalid register number to dependent filters when the reference operand is not yet determined.
author
Robin Dapp
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • lra
  • register allocation
  • optimization
discussion_id_link
bugzilla_pr
date
2026-06-29T00:00:00.000Z

This patch refines the Local Register Allocation (LRA) process by ensuring that dependent filters are properly invoked even when the reference operand’s register is not yet assigned. Previously, undefined reference operands led to filters being lenient, potentially causing early, incorrect register assignments that LRA could not fix later. The change allows filters to reject inputs more effectively in such scenarios and documents that INVALID_REGNUM can be passed to these filters.