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.