onnxruntime
Add composable C++ graph pattern rewriter
#33631
Merged

Add composable C++ graph pattern rewriter #33631

gramalingam
gramalingam Add core C++ pattern rewriter and correctness coverage
98bd94aa
gramalingam Check example rewrite types on relevant value bindings
07afc066
gramalingam Make rewrite definitions parser-only and document matcher semantics
a62df40f
gramalingam Express extra-attribute rollback coverage with a parsed replacement
f0ff67fe
gramalingam Resolve callback replacement names against the winning rule
8f15fdfa
gramalingam Own the untyped guard-test value outside graph cleanup
7d3850ba
gramalingam Separate named returns and support braced rewrite definitions
1f386911
gramalingam Disambiguate parser construction expressions in syntax tests
af63ee29
gramalingam Support dotted pattern operators and rank-one literal lists
e06a09fc
gramalingam Keep rejected vector rule disjoint from all negative test inputs
ec7c6b71
gramalingam Extend rewriter boundaries, attribute captures, optional inputs and d…
8d8c7cb3
gramalingam Clarify rewriter introspection and diagnostic allocation semantics
8cd09646
gramalingam Allow one-node and nonshrinking rewrites with bounded candidate itera…
be3e0d16
gramalingam Finish candidate batches outside the descendant invalidation loop
f5b6d5ef
gramalingam Keep replacement rollback regression invalid through schema validation
90a830e1
gramalingam Outline backward matching and indexed bounded rule scheduling
ec4e4730
gramalingam Add tensor type and shape annotations with implicit dimension bindings
7893d8c0
gramalingam Support bounded type unions and express optional inputs with None
328ef440
gramalingam Simplify rewrite rule construction and reorder parameters
eb1fff20
gramalingam Compare shared replacement recipes rather than pointer wrappers
b330a56c
gramalingam Combine rewrite checks and match-local binding preparation
09ac2066
gramalingam Keep tensor binding coverage executable and preserve helper preparation
b3c3083c
gramalingam Support hash line comments in rewrite definitions
acb15c11
gramalingam Default rewrite checks to acceptance and simplify annotated example
9f49711f
gramalingam Explain check-and-bind with an attribute-checking example
819f4598
gramalingam Add composable rewriter fragments and scoped match views
47b6e7e6
gramalingam Unify reusable rewriter bodies and alternatives under pattern
f9c717ae
gramalingam Fix composable pattern validation and parser portability
db9e2231
gramalingam Preserve composable matcher contracts across grouped dispatch
45599ea8
gramalingam Preserve compositional contracts and bounded matching semantics
d9391209
gramalingam Reject late attribute conversion of composed tensor annotations
be8de02b
gramalingam Require known equality for repeated selected dimension names
d6eb407d
gramalingam Keep illustrative rewrite rules local to optimizer tests
e6627eb5
gramalingam Lead pattern rewriter documentation with a concrete example
6dfae4de
gramalingam Introduce composition details after graph alternatives
a9ffc7c4
gramalingam Add positional outputs and expression alternatives to rewrite patterns
64739967
gramalingam Fix positional output reconciliation and binding validation
90bf0f0f
gramalingam Expose standalone pattern and replacement components
661422fd
gramalingam Minor fixes
bcb4daf1
gramalingam Add direct anchored matching and clarify component documentation
9570a143
gramalingam Use readable whitespace throughout rewriter documentation examples
ac7d3b1d
gramalingam Keep diagnostic text and C++ punctuation unchanged in examples
bfc52c71
gramalingam Explain ordered match visitation after pattern disjunction
6d707086
gramalingam Support optional attribute captures and replacement omission
e5927feb
gramalingam Present pattern libraries immediately after patterns
319fa38a
gramalingam gramalingam changed the title Add experimental composable C++ graph pattern rewriter Add composable C++ graph pattern rewriter 6 days ago
titaiwangms titaiwangms requested a review from titaiwangms titaiwangms 6 days ago
gramalingam gramalingam marked this pull request as ready for review 5 days ago
gramalingam gramalingam requested a review from copilot-pull-request-reviewer copilot-pull-request-reviewer 5 days ago
copilot-pull-request-reviewer
copilot-pull-request-reviewer commented on 2026-10-27
gramalingam Fix rewriter alias lifetime and cross-platform CI failures
f093d2eb
gramalingam Harden rewriter validation and fix CI portability
60e54fb1
gramalingam Keep exported result metadata in the callee scope
da2ef9e0
titaiwangms titaiwangms requested a review from copilot-pull-request-reviewer copilot-pull-request-reviewer 5 days ago
copilot-pull-request-reviewer
copilot-pull-request-reviewer commented on 2026-10-28
titaiwangms
titaiwangms commented on 2026-10-28
titaiwangms
titaiwangms dismissed these changes on 2026-10-28
gramalingam Bound the illustrative Clip-chain HardSwish rewrite
30c8c329
gramalingam gramalingam dismissed their stale review via 30c8c329 5 days ago
gramalingam
titaiwangms
titaiwangms dismissed these changes on 2026-10-28
gramalingam Read rewriter constants independently of storage representation
2b45bbf2
gramalingam Preserve empty external tensors and local runtime shadows
45f051e8
gramalingam gramalingam dismissed their stale review via 45f051e8 5 days ago
gramalingam
titaiwangms
titaiwangms approved these changes on 2026-10-28
xadupre
gramalingam gramalingam merged 9d3dc812 into main 4 days ago

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone