Browse Source

incoroprate TupleGetItem Switch if EnvSetItem or EnvGetItem exists in the same func graph, so EnvGetItem or EnvSetItem can be eliminated even DEFER_INLINE flag is set, so before second order J is expanded, EnvGetItem or EnvSetItem is eliminated

tags/v1.2.0-rc1
zhousiyi 5 years ago
parent
commit
3f2a08c1d0
1 changed files with 2 additions and 1 deletions
  1. +2
    -1
      mindspore/ccsrc/frontend/optimizer/irpass/incorporate_getitem.h

+ 2
- 1
mindspore/ccsrc/frontend/optimizer/irpass/incorporate_getitem.h View File

@@ -362,7 +362,8 @@ class IncorporateGetitemSwitch : public AnfVisitor {
is_in_get_ = false;

auto fg = node->func_graph();
if (idx_ == -1 || switch_ == nullptr || fg == nullptr || fg->has_flag(FUNC_GRAPH_FLAG_DEFER_INLINE)) {
if (idx_ == -1 || switch_ == nullptr || fg == nullptr ||
(fg->has_flag(FUNC_GRAPH_FLAG_DEFER_INLINE) && !ExistEnvNode(fg))) {
return nullptr;
}



Loading…
Cancel
Save