Landing: 102b3cc3738f

Project / Subsystem

gcc / gcc

Date

2026-04-28

Author

Vladimir N. Makarov

Commit

102b3cc3738f5db788134989bdc93b817316f320

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
gcc
patch_id
commit_hash
102b3cc3738f5db788134989bdc93b817316f320
source_type
github
headline
Fix register elimination for INC/DEC RTL instructions.
tldr
This patch corrects a typo in the LRA pass that prevented the proper elimination of hard registers for increment/decrement RTL instructions.
author
Vladimir N. Makarov
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • optimization
  • register allocation
  • bugfix
discussion_id_link
bugzilla_pr
date
2026-04-28T00:00:00.000Z

A typo in the LRA (Local Register Allocator) pass caused the compiler to incorrectly identify pseudos (pseudo registers) instead of hard registers when processing INC and DEC RTL (Register Transfer Language) instructions. This prevented the elimination of hard register operands, potentially leading to suboptimal register allocation. The patch corrects the condition to properly consider hard registers, allowing for more effective register elimination.