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.