Skip to content
This repository has been archived by the owner on May 22, 2023. It is now read-only.

Relax IRVisitor/IRMuator #10

Merged
merged 20 commits into from
Sep 27, 2021
Merged

Relax IRVisitor/IRMuator #10

merged 20 commits into from
Sep 27, 2021

Conversation

YuchenJin
Copy link
Collaborator

Co-authored-by: ZihengJiang ziheng@apache.org

@YuchenJin YuchenJin marked this pull request as ready for review September 27, 2021 22:21
@YuchenJin YuchenJin merged commit efe95d2 into relax Sep 27, 2021
@YuchenJin YuchenJin deleted the relax-irvisitor branch September 27, 2021 22:59
@altanh
Copy link
Collaborator

altanh commented Sep 27, 2021

hey guys I didn't get around to reviewing this since the PR was marked as a "draft", so I'll leave some comments on the code when I have time and we can address in follow ups. Could you ping me next time when it's ready for review? 🙏

@YuchenJin
Copy link
Collaborator Author

hey guys I didn't get around to reviewing this since the PR was marked as a "draft", so I'll leave some comments on the code when I have time and we can address in follow ups. Could you ping me next time when it's ready for review? 🙏

Hey Altan, of course! Sorry for merging it so quickly for the sake of pushing on the demo. We will definitely ping you next time and leave longer review time. I think this PR has a lot of places to be improved and discussed, please leave your comments whenever you have time, and we will address them in the following PRs. :) 🙏

tqchen pushed a commit that referenced this pull request Oct 30, 2021
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
yongwww pushed a commit to yongwww/relax that referenced this pull request Apr 12, 2022
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
MasterJH5574 pushed a commit to MasterJH5574/tlc-relax that referenced this pull request Apr 13, 2022
* ut except bind params

* all complete
jinhongyii added a commit to jinhongyii/relax that referenced this pull request May 7, 2022
* ut except bind params

* all complete
yongwww pushed a commit that referenced this pull request May 10, 2022
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
yongwww pushed a commit that referenced this pull request May 11, 2022
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
YuchenJin added a commit that referenced this pull request Jun 1, 2022
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
jinhongyii pushed a commit to jinhongyii/relax that referenced this pull request Jun 5, 2022
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
yongwww pushed a commit to yongwww/relax that referenced this pull request Jun 12, 2022
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
yongwww pushed a commit to yongwww/relax that referenced this pull request Jul 15, 2022
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
yongwww pushed a commit that referenced this pull request Aug 14, 2022
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit that referenced this pull request Oct 14, 2022
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
MasterJH5574 pushed a commit to MasterJH5574/tlc-relax that referenced this pull request Oct 17, 2022
YuchenJin added a commit that referenced this pull request Nov 18, 2022
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
MasterJH5574 pushed a commit to MasterJH5574/tlc-relax that referenced this pull request Nov 20, 2022
jinhongyii pushed a commit to jinhongyii/relax that referenced this pull request Dec 10, 2022
MasterJH5574 pushed a commit to MasterJH5574/tlc-relax that referenced this pull request Dec 13, 2022
* [Op] High level op added

* Add LowerToTensorIRPass
* Register several high level ops
* Register gradients for ops
* Unit tests for Ops and gradients

[Pass] Add new SimpleAD pass (tlc-pack#3)

* Add SimpleAD pass

* Write unit tests

Co-authored-by: SiriusNEO <1713833595@qq.com>

[Relax][AD] Support tuple, modify APIs and move Ops to a new folder (tlc-pack#5)

This PR adds support for tuples in the automatic differentiation process of relax. Specifically, two operators, `Tuple()` and `TupleGetItem`, are supported. It also modifies `SimpleAD` api to remove string arguments and use GlobalVar, and adds `gradient` API, a new func to func interface.

Besides, we have moved the Ops created by us into a new folder `src/relax/op/training`.

[Testing] Relax LSTM demo and numeric gradient test (tlc-pack#6)

* lstm test changes

* relax training lstm demo

Rebase fix (tlc-pack#8)

* fix rebase error

* rebase fix: AD adapts to new parser

* rebase fix: return RuntimeDepShape now

Co-authored-by: ubospica <ubospica@gmail.com>

[Pass] Polish SimpleAD pass (tlc-pack#9)

* SimpleAD now will copy params, which fix the shared Var between functions problem

* add error unitests

* modify type of require_grads and error test

Optimizer API (tlc-pack#7)

Co-authored-by: SiriusNEO <1713833595@qq.com>

[Relax][Training] Relax Trainer API (tlc-pack#10)

* append call pass

* add test for append call

* successfully train LSTM using this trainer

* refractor training structure

* add tests for trainer

* remove a file

* Remove optimizer from this branch

* sync with optimizer api

* redesign API and add document

* fix some problems

Co-authored-by: ubospica <ubospica@gmail.com>

[FIX][Relax AD] replace ones_like with ones (tlc-pack#11)

* ones_like to one

* fix rebase

Co-authored-by: ubospica <ubospica@gmail.com>

Op polish

revision

* fix ops

* debug for ops

* prepare for pr

* fix pr issues

* - Add collapse_sum document
- Remove test_relax_ops running part
- Add op legalizer test

* fix qemu-hack

* remove unnecessary imports from test
vinx13 pushed a commit to vinx13/relax that referenced this pull request Dec 14, 2022
* [Op] High level op added

* Add LowerToTensorIRPass
* Register several high level ops
* Register gradients for ops
* Unit tests for Ops and gradients

[Pass] Add new SimpleAD pass (tlc-pack#3)

* Add SimpleAD pass

* Write unit tests

Co-authored-by: SiriusNEO <1713833595@qq.com>

[Relax][AD] Support tuple, modify APIs and move Ops to a new folder (tlc-pack#5)

This PR adds support for tuples in the automatic differentiation process of relax. Specifically, two operators, `Tuple()` and `TupleGetItem`, are supported. It also modifies `SimpleAD` api to remove string arguments and use GlobalVar, and adds `gradient` API, a new func to func interface.

Besides, we have moved the Ops created by us into a new folder `src/relax/op/training`.

[Testing] Relax LSTM demo and numeric gradient test (tlc-pack#6)

* lstm test changes

* relax training lstm demo

Rebase fix (tlc-pack#8)

* fix rebase error

* rebase fix: AD adapts to new parser

* rebase fix: return RuntimeDepShape now

Co-authored-by: ubospica <ubospica@gmail.com>

[Pass] Polish SimpleAD pass (tlc-pack#9)

* SimpleAD now will copy params, which fix the shared Var between functions problem

* add error unitests

* modify type of require_grads and error test

Optimizer API (tlc-pack#7)

Co-authored-by: SiriusNEO <1713833595@qq.com>

[Relax][Training] Relax Trainer API (tlc-pack#10)

* append call pass

* add test for append call

* successfully train LSTM using this trainer

* refractor training structure

* add tests for trainer

* remove a file

* Remove optimizer from this branch

* sync with optimizer api

* redesign API and add document

* fix some problems

Co-authored-by: ubospica <ubospica@gmail.com>

[FIX][Relax AD] replace ones_like with ones (tlc-pack#11)

* ones_like to one

* fix rebase

Co-authored-by: ubospica <ubospica@gmail.com>

Op polish

revision

* fix ops

* debug for ops

* prepare for pr

* fix pr issues

* - Add collapse_sum document
- Remove test_relax_ops running part
- Add op legalizer test

* fix qemu-hack

* remove unnecessary imports from test
YuchenJin added a commit that referenced this pull request Jan 13, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
YuchenJin added a commit that referenced this pull request Jan 14, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit to junrushao/relax that referenced this pull request Jan 25, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit to junrushao/relax that referenced this pull request Jan 26, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit to junrushao/relax that referenced this pull request Jan 29, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit to junrushao/relax that referenced this pull request Feb 5, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit to junrushao/relax that referenced this pull request Feb 6, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit that referenced this pull request Feb 8, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit that referenced this pull request Feb 8, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit that referenced this pull request Feb 8, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit that referenced this pull request Feb 8, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit that referenced this pull request Feb 9, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
junrushao pushed a commit that referenced this pull request Feb 9, 2023
* ExprVisitor/ExprMutator for relax nodes.

* Update Visitor & Mutator.

* Update Mutator.

* DataflowMutator interface.

* EwiseFMARewriter.

* Update fma rewrite and add test.

* Update test.

* Fix dataflow block dispatching.

* Construct new dataflow block with IRBuilder.

* VisitBinding return void and mutate internal IRBuilder.

* Simplify.

* Update emit dataflow output.

* Explicit memeory allocation rewrite.

* LazyIRBuilder.

* Update ExplicitMemMutator.

* Overload IRBuilder::Emit to have 3 styles.

* Update IRBuilder/IRMutator interfaces and passes.

* Add MatchShape binding to IRBuilder.

* Improve IRMutator interface; add Normalize and CanProveShapeEqual to IRBuilder

* Update EmitMatchShape.

Co-authored-by: ZihengJiang <ziheng@apache.org>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants