Landing: 4fe2072d5d16

Project / Subsystem

gcc / tree-optimization

Date

2026-08-17

Author

Richard Biener

Commit

4fe2072d5d16ce26112d8035e627d47809aaa6c2

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
tree-optimization
patch_id
—
commit_hash
4fe2072d5d16ce26112d8035e627d47809aaa6c2
source_type
github
headline
Allow backward threading to loop exit
tldr
Loop optimization can now thread backward through loop headers to exit, enabling better peeling of non-iterating loops.
author
Richard Biener
outcome
committed
performance_win
true
breaking_change
false
series_id
—
series_parts
[]
tags
  • • optimization
  • • compiler
discussion_id_link
—
bugzilla_pr
—
date
2026-08-17T00:00:00.000Z

This change enhances the backward threader in GCC’s tree-ssa optimization passes. It allows threading to pass through loop headers when exiting a loop, which helps in fully peeling loops that do not iterate. Care has been taken to prevent random loop peeling, with specific measures and new test cases added to ensure correctness.