Landing: b1dcde565577

Project / Subsystem

gcc / phiopt

Date

2026-09-16

Author

Andrea Pinski

Commit

b1dcde565577e8ae1b6297e4a230f040e6aa6547

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
phiopt
patch_id
—
commit_hash
b1dcde565577e8ae1b6297e4a230f040e6aa6547
source_type
github
headline
phiopt: Improve heuristics for factoring out loads before vectorization
tldr
PHIOPT pass in GCC improves load commoning heuristics to enable more loop vectorization opportunities.
author
Andrea Pinski
outcome
committed
performance_win
true
breaking_change
false
series_id
—
series_parts
[]
tags
  • • optimization
  • • vectorization
  • • phiopt
discussion_id_link
—
bugzilla_pr
—
date
2026-09-16T00:00:00.000Z

The PHIOPT pass in GCC now uses improved heuristics for commoning loads before the vectorizer runs. Previously, many common loads were rejected due to simple heuristics. This change allows loads from other loads to be factored out earlier, potentially enabling more code to be vectorized. Two test cases are now factored out in phiopt2, and one case was adjusted to preserve vectorization.