Landing: 4e37a91129de

Project / Subsystem

gcc / tree-optimization

Date

2026-08-25

Author

Richard Biener

Commit

4e37a91129de4dab6ef37a6b432c565def1ba9f4

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
tree-optimization
patch_id
—
commit_hash
4e37a91129de4dab6ef37a6b432c565def1ba9f4
source_type
github
headline
Fix outer loop vectorization data reference analysis.
tldr
GCC's vectorizer now correctly analyzes data references for outer loop vectorization by using MEM_REF instead of INDIRECT_REF.
author
Richard Biener
outcome
committed
performance_win
true
breaking_change
false
series_id
—
series_parts
[]
tags
  • • optimization
  • • vectorization
discussion_id_link
—
bugzilla_pr
—
date
2026-08-25T00:00:00.000Z

GCC’s vectorizer has been fixed to correctly analyze data references for outer loop vectorization. The previous implementation used build_fold_indirect_ref, which led to incorrect type and alignment analysis. This change replaces it with a MEM_REF of the original DR_REF type, enabling more accurate analysis of the innermost loop’s behavior. A new test case, pr127049.C, is included to verify the fix.