Landing: 61fc8acde23b

Project / Subsystem

gcc / gcc

Date

2026-04-30

Author

Vladimir N. Makarov

Commit

61fc8acde23b047c669011fc5b390b6ebf68097d

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
gcc
patch_id
commit_hash
61fc8acde23b047c669011fc5b390b6ebf68097d
source_type
github
headline
Process operand NO_REGS class for register cost calculation
tldr
Fixes register cost calculation for operands with the NO_REGS class, potentially changing generated code.
author
Vladimir N. Makarov
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • gcc
  • IRA
  • register allocation
  • optimization
discussion_id_link
bugzilla_pr
date
2026-04-30T00:00:00.000Z

This commit fixes an issue in GCC’s intermediate representation (IRA) where the cost of instructions was not being accurately calculated when operands had the NO_REGS class. The record_reg_classes function lacked special processing for this case, leading to potentially inflated instruction cost estimates. This correction can lead to changes in generated code as the register allocator now has a more accurate picture of instruction costs.