Landing: 143bb738d4f1
Project / Subsystem
gcc / phiprop
Date
2026-03-28
Author
Andrew Pinski
Commit
143bb738d4f17b10ab369436ea1daaa2da3cc1dc
Source
github
Perf win
Yes
Breaking
No
All attributes
- project
- gcc
- subsystem
- phiprop
- patch_id
- —
- commit_hash
- 143bb738d4f17b10ab369436ea1daaa2da3cc1dc
- source_type
- github
- headline
- PhiProp now handles stores between loads and PHIs.
- tldr
- PhiProp pass can now propagate values through a store instruction between a load and the PHI node, improving optimization for certain C++ code patterns.
- author
- Andrew Pinski
- outcome
- committed
- performance_win
- true
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • optimization
- • ssa
- • phiprop
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-03-28T00:00:00.000Z
The PhiProp optimization pass now allows for one store instruction between a load and the phi node, enabling propagation in cases where a store instruction previously blocked the optimization. This change improves optimization for C++ code with min/max patterns where argument evaluation order affects optimization opportunities. Additional testcases were added to cover scenarios where the load would make a different.