Landing: f7a75a1506d9

Project / Subsystem

gcc / gcc/fold-mem-offsets

Date

2025-06-14

Author

Konstantinos Eleftheriou

Commit

f7a75a1506d91fcc76890732a0f720952e01e8fa

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
gcc/fold-mem-offsets
patch_id
commit_hash
f7a75a1506d91fcc76890732a0f720952e01e8fa
source_type
github
headline
Convert fold-mem-offsets pass to use RTL-SSA
tldr
The fold-mem-offsets optimization pass is rewritten to use RTL-SSA, improving efficiency by processing instructions in a single pass.
author
Konstantinos Eleftheriou
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • optimization
  • rtl-ssa
discussion_id_link
bugzilla_pr
date
2025-06-14T00:00:00.000Z

The fold-mem-offsets optimization pass has been converted from using DF (Data Flow) to RTL-SSA (Register Transfer Language Static Single Assignment). This rewrite significantly alters how the pass collects information, now processing each instruction only once. It introduces single-USE and multi-USE modes for identifying foldable memory offsets, with performance varying based on code complexity and optimization level.