Landing: 9aab80ddc5b2
Project / Subsystem
gcc / gcc/out-of-ssa
Date
2026-07-07
Author
Kyrylo Tkachov
Commit
9aab80ddc5b2fa0eef80008e718067ab45f42c50
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- gcc/out-of-ssa
- patch_id
- —
- commit_hash
- 9aab80ddc5b2fa0eef80008e718067ab45f42c50
- source_type
- github
- headline
- Out-of-SSA uses spill predicate for partition declarations
- tldr
- Fixes memory corruption from overlapping partitions in out-of-SSA form by using the correct spill predicate.
- author
- Kyrylo Tkachov
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • optimization
- • out_of_ssa
- • gcc
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-07-07T00:00:00.000Z
The out-of-SSA pass sometimes leaves multiple partitions sharing a base variable declaration when their live ranges overlap. This commit corrects how these overlapping partitions are spilled to memory. Previously, approximations were used, leading to distinct memory slots being combined and causing corruption. The change now uses the same spill predicate as used during expansion, ensuring that distinct memory slots are properly allocated and accessed, preventing data corruption.