Landing: ec79b0779b6e
Project / Subsystem
gcc / tree-cfgcleanup
Date
2026-05-20
Author
Andrew Pinski
Commit
ec79b0779b6eeb9ef3b8a45f46a596cbb75a7844
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- tree-cfgcleanup
- patch_id
- —
- commit_hash
- ec79b0779b6eeb9ef3b8a45f46a596cbb75a7844
- source_type
- github
- headline
- Tree-CFGCleanup Retains Forwarder Blocks with PHIs and Abnormal Uses
- tldr
- The compiler now avoids incorrectly removing forwarder blocks that contain PHI nodes with abnormal uses, preventing potential code generation issues.
- author
- Andrew Pinski
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • tree-cfgcleanup
- • optimization
- • bugfix
- • phi
- • ssa
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-05-20T00:00:00.000Z
The tree-cfgcleanup pass in GCC could incorrectly remove forwarder blocks containing PHI nodes if the PHI arguments had abnormal uses. This commit fixes this issue by adding a check to ensure that forwarder blocks with PHIs referencing SSA names with abnormal uses are not removed. This prevents potential issues with live range overlap and incorrect code generation during optimization.