Landing: 140c99542164

Project / Subsystem

gcc / genmatch

Date

2026-09-08

Author

Kyrylo Tkachov

Commit

140c995421647b41a7ccda0450cb333ea3f9923a

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
genmatch
patch_id
—
commit_hash
140c995421647b41a7ccda0450cb333ea3f9923a
source_type
github
headline
Handle overlapping delayed operator sets in genmatch.
tldr
Genmatch now correctly handles overlapping operator sets in named matches, preventing duplicate case labels and ensuring generated code is valid.
author
Kyrylo Tkachov
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • genmatch
  • • optimization
  • • backend
discussion_id_link
—
bugzilla_pr
—
date
2026-09-08T00:00:00.000Z

The genmatch tool, which generates decision trees for pattern matching, previously mishandled overlapping sets of delayed operators, leading to duplicate case labels in generated code. This change partitions expression and function nodes into connected groups that share concrete switch cases, emitting each group’s cases only once and guarding matchers for partial overlaps. This resolves duplicate labels and slightly increases generated source size.