dicrease the complexity of CalcDep from exponential to linear#4053
dicrease the complexity of CalcDep from exponential to linear#4053vinx13 merged 1 commit intoapache:masterfrom
Conversation
fe3beaf to
f75253c
Compare
|
LGTM. |
|
Why is it assumed a tree form? I can see that the base class |
|
@yaochengji because what does it mean for a graph form program to have scope and effect? |
|
@MarisaKirisame but I think since using a cc @icemelon9 |
|
you can still has it. I just mean you should not pass graph in. |
|
@MarisaKirisame do you think this commit should be merged? |
|
sure. It will increase the robustness of the DCE. |
|
Please add a test case |
f75253c to
e08a1f1
Compare
|
@vinx13 Done. |
| void VisitExpr(const Expr& e) final { | ||
| return ExprFunctor<void(const Expr& e)>::VisitExpr(e); | ||
| visit_counter_[e.get()]++; | ||
| if (visit_counter_[e.get()] <= 2) { |
There was a problem hiding this comment.
the dce code seprate variable into three parts:
used 0 times (remove)
used 1 times (inline)
used 2 times (dont do anything).
e08a1f1 to
90c5b30
Compare
|
Thanks @yaochengji @MarisaKirisame this is merged |
* master: (21 commits) [Fix][VM] Fix VM invoke with set_params (apache#4079) [QNN] Refactor fixed point multiplication in requantize (apache#4073) Fix match case in Python-side expr functor (apache#4037) Hide symbols from dependent libraries if HIDE_PRIVATE_SYMBOLS is ON. (apache#4041) Add gradient for log-softmax (apache#4069) [DOC] Fix typos in tutorials (apache#4066) dicrease the complexity of CalcDep from exponential to linear (apache#4053) [Relay][AlterOp] Minor refactor. (apache#4064) [Relay][AlterOp] Improving support for broadcast layout alteration. (apache#4040) Add parses support for zeros_like tflite operator (apache#4042) [Bugfix][TF] reset graph after getting tag of savedmodel (apache#4055) [Relay][VM] Add more passes to VMCompiler (apache#4058) [Relay][VM] Add autotvm context when compile (apache#4062) [Bugfix] Fix target host for vm compiler (apache#4057) [Relay][Training] Add gradient for Crossentropy (apache#3925) [llvm] switch to use Align for llvm trunk (apache#4051) [Relay][TopHub] Add switch to disable TopHub download (apache#4015) [Relay][Op] Add instance norm op (apache#4004) [QNN][Relay] Calling Dialect passes from inside Relay Build API. (apache#3971) [RELAY/PASS] Fix the extent for the post_stmt in the loop partition (apache#3734) ...
The DCE pass bug is not caused by infinite loop, it is just time consuming.
@MarisaKirisame please review, thanks!