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.