Landing: 13efaa5e7dcc

Project / Subsystem

gcc / gcc/genoutput

Date

2026-09-09

Author

Kyrylo Tkachov

Commit

13efaa5e7dcc882734e384f6a3f4061c7a8286b8

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
gcc/genoutput
patch_id
—
commit_hash
13efaa5e7dcc882734e384f6a3f4061c7a8286b8
source_type
github
headline
genoutput writes each output template only once
tldr
Reduces code size and improves compile times by avoiding redundant output template definitions.
author
Kyrylo Tkachov
outcome
committed
performance_win
true
breaking_change
false
series_id
—
series_parts
[]
tags
  • • optimization
  • • build
  • • aarch64
discussion_id_link
—
bugzilla_pr
—
date
2026-09-09T00:00:00.000Z

The genoutput pass now ensures that each unique output template is defined only once, significantly reducing the generated code size and improving compilation performance. Previously, identical templates were redefined multiple times, especially when using iterators. By keying on both the template text and its source location, redundant definitions are now avoided, with subsequent identical templates simply referencing the first. This change led to a substantial reduction in output definition counts and decreased compile times and memory usage on aarch64.