From 55cb82f22eb3319037ede00e30533844db2e6e2e Mon Sep 17 00:00:00 2001 From: huzhiqiang <912790387@qq.com> Date: Wed, 18 Mar 2020 19:11:56 +0800 Subject: [PATCH] [bug fix] fix memory_optimize_pass #3219 --- lite/core/mir/memory_optimize_pass.cc | 3 ++- lite/core/mir/node.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lite/core/mir/memory_optimize_pass.cc b/lite/core/mir/memory_optimize_pass.cc index ee78fac9a8..fe2971777c 100644 --- a/lite/core/mir/memory_optimize_pass.cc +++ b/lite/core/mir/memory_optimize_pass.cc @@ -123,7 +123,8 @@ void MemoryOptimizePass::CollectLifeCycleByDevice( // non-tensor(like tensor_array) variables will not be reused for (auto& node : graph->nodes()) { - if (node.IsArg() && !node.arg()->type->IsTensor()) { + if (node.IsArg() && (node.arg()->type != nullptr) && + !node.arg()->type->IsTensor()) { invalid_var_names.insert(node.arg()->name); } } diff --git a/lite/core/mir/node.h b/lite/core/mir/node.h index e7c44d2be6..45b15812fa 100644 --- a/lite/core/mir/node.h +++ b/lite/core/mir/node.h @@ -85,7 +85,7 @@ class Node { struct Arg { std::string name; int id{0}; - const Type* type{}; + const Type* type{nullptr}; // Weight is a special kind of argument, it is marked as weight explicitly // so that some weight related optimization can take place. bool is_weight{false}; -- GitLab