diff --git a/paddle/fluid/framework/details/inplace_op_pass.cc b/paddle/fluid/framework/details/inplace_op_pass.cc index ff3aacfe1001650df94684f47d4d256833227dc9..92aabb9fd6cb7201f5601a4e9e880abe9e23c9b1 100644 --- a/paddle/fluid/framework/details/inplace_op_pass.cc +++ b/paddle/fluid/framework/details/inplace_op_pass.cc @@ -266,11 +266,13 @@ void InplacePass::TryInplaceOpInputOutput(ir::Node* op, VLOG(4) << "Try to inplace op " << op->Name(); PADDLE_ENFORCE(op->Op() != nullptr && op->Op()->Block() != nullptr, "op_desc is nullptr"); - // 4 pre-requirments need to meet if the op want to inplaced. - // 1. infer_inplace_ is registered. + // some pre-requirments need to meet if the op want to inplaced. + auto* op_desc = op->Op(); auto& infer_inplace = OpInfoMap::Instance().Get(op_desc->Type()).infer_inplace_; + + // 1. infer_inplace_ is registered. if (!static_cast(infer_inplace)) return; PADDLE_ENFORCE(static_cast(infer_inplace), "%s's infer_inplace has not been registered", op_desc->Type()); @@ -399,7 +401,7 @@ void GraphView::Build(ir::Graph* g) { } } -const std::vector GraphView::AllOps() { return ops_; } +const& std::vector GraphView::AllOps() { return ops_; } bool GraphView::ReusedInPythonMemOpt(const std::string& var) const { return dup_nodes_.count(var); diff --git a/paddle/fluid/framework/details/inplace_op_pass.h b/paddle/fluid/framework/details/inplace_op_pass.h index 255b3b8e83395967f61bdfbb99c948265f925847..cf4f96c2d030e7c503f4a3bf687bf86fad398cf8 100644 --- a/paddle/fluid/framework/details/inplace_op_pass.h +++ b/paddle/fluid/framework/details/inplace_op_pass.h @@ -33,7 +33,7 @@ class GraphView { void Build(ir::Graph* g); - const std::vector AllOps(); + const& std::vector AllOps(); ir::Node* GetNodeByName(const std::string& name, const std::vector& nodes) const;