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