Landing: 00f6d24737cd

Project / Subsystem

gcc / cselib

Date

2026-07-09

Author

Richard Sandiford

Commit

00f6d24737cd35594dcd621aae412d0d41258370

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
cselib
patch_id
commit_hash
00f6d24737cd35594dcd621aae412d0d41258370
source_type
github
headline
32-bit hash restored for cselib values
tldr
GCC restores a 32-bit hash for cselib values, resolving a bug that caused lookups to fail by relocating the UID field.
author
Richard Sandiford
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • cselib
  • optimization
  • bugfix
discussion_id_link
bugzilla_pr
date
2026-07-09T00:00:00.000Z

GCC restores the hash used in the common subexpression elimination library (cselib) to 32 bits, fixing a bug where trimming the hash to 30 bits caused zero values to be returned, leading to lookup failures. The space for the 32-bit hash is reclaimed by moving the UID field to a different RTX union member, simplifying some operations while slightly complicating others.