Landing: cfc8ba7fa91e

Project / Subsystem

gcc / regrename

Date

2026-07-01

Author

Andrew Stubbs

Commit

cfc8ba7fa91eb7bf12fb7cd01542ddee2c337fb0

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
regrename
patch_id
commit_hash
cfc8ba7fa91eb7bf12fb7cd01542ddee2c337fb0
source_type
github
headline
Register renamer handles memory addresses with segments
tldr
Fixes register renaming for memory addresses containing explicit segment components.
author
Andrew Stubbs
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • regrename
  • optimization
  • assembly
discussion_id_link
bugzilla_pr
date
2026-07-01T00:00:00.000Z

The register rename pass in GCC has been updated to correctly handle memory addresses that include explicit segment information. Prior to this change, the pass could misidentify register components in segmented addresses, potentially corrupting 64-bit addresses on targets with 32-bit registers by placing address parts in non-contiguous registers. The fix in regrename.cc ensures that arbitrary UNSPECs used as segments are properly recursed into.