From a7b20b5b27810d940ff91a6db6f83541badd7878 Mon Sep 17 00:00:00 2001 From: dayschan Date: Thu, 22 Sep 2022 17:27:48 +0800 Subject: [PATCH] change GetPrimCMap to return a const-reference hash map --- .../ccsrc/common/graph_kernel/core/graph_kernel_utils.cc | 2 +- mindspore/ccsrc/common/graph_kernel/model/op_node.cc | 4 ++-- mindspore/core/ops/primitive_c.cc | 2 +- mindspore/core/ops/primitive_c.h | 5 +++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/mindspore/ccsrc/common/graph_kernel/core/graph_kernel_utils.cc b/mindspore/ccsrc/common/graph_kernel/core/graph_kernel_utils.cc index 1c03d75dab6..6178abc4418 100644 --- a/mindspore/ccsrc/common/graph_kernel/core/graph_kernel_utils.cc +++ b/mindspore/ccsrc/common/graph_kernel/core/graph_kernel_utils.cc @@ -338,7 +338,7 @@ void GkUtils::UpdateFuncGraphManager(const FuncGraphManagerPtr &mng, const FuncG } PrimitivePtr GkUtils::GetOpsPrim(const std::string &name) { - auto op_primc_fns = ops::OpPrimCRegister::GetInstance().GetPrimCMap(); + const auto &op_primc_fns = ops::OpPrimCRegister::GetInstance().GetPrimCMap(); auto const iter = op_primc_fns.find(name); if (iter == op_primc_fns.end()) { return nullptr; diff --git a/mindspore/ccsrc/common/graph_kernel/model/op_node.cc b/mindspore/ccsrc/common/graph_kernel/model/op_node.cc index 71fe73a8f7c..e5d3eaa13ce 100644 --- a/mindspore/ccsrc/common/graph_kernel/model/op_node.cc +++ b/mindspore/ccsrc/common/graph_kernel/model/op_node.cc @@ -106,7 +106,7 @@ void PrimOp::SetAbastractsFromAttrs(const PrimitivePtr &primitive, const mindspo std::pair PrimOp::GenPrimAndAbstract(const NodePtrList &inputs, const DAttrs &attrs) const { - auto op_primc_fns = ops::OpPrimCRegister::GetInstance().GetPrimCMap(); + const auto &op_primc_fns = ops::OpPrimCRegister::GetInstance().GetPrimCMap(); const auto iter = op_primc_fns.find(op_); if (iter == op_primc_fns.end()) { MS_LOG(EXCEPTION) << "The PrimitiveC of [" << op_ << "] is not defined."; @@ -330,7 +330,7 @@ NodePtr PrimOp::InferValue(const NodePtrList &inputs, const DAttrs &attrs) { return nullptr; } if (res == nullptr) { - auto op_primc_fns = ops::OpPrimCRegister::GetInstance().GetPrimCMap(); + const auto &op_primc_fns = ops::OpPrimCRegister::GetInstance().GetPrimCMap(); const auto iter = op_primc_fns.find(op_); if (iter == op_primc_fns.end()) { return nullptr; diff --git a/mindspore/core/ops/primitive_c.cc b/mindspore/core/ops/primitive_c.cc index 5e2d1c6205a..de55b0614b0 100644 --- a/mindspore/core/ops/primitive_c.cc +++ b/mindspore/core/ops/primitive_c.cc @@ -38,7 +38,7 @@ OpPrimCRegister &OpPrimCRegister::GetInstance() { return instance; } -std::map OpPrimCRegister::GetPrimCMap() { return op_primc_fns_; } +const HashMap &OpPrimCRegister::GetPrimCMap() { return op_primc_fns_; } void OpPrimCRegister::SetPrimCMap(const std::string &kname, const OpPrimCDefineFunc &fn) { op_primc_fns_[kname] = fn; } } // namespace ops } // namespace mindspore diff --git a/mindspore/core/ops/primitive_c.h b/mindspore/core/ops/primitive_c.h index 44371758ed9..b8a7cbfd67c 100644 --- a/mindspore/core/ops/primitive_c.h +++ b/mindspore/core/ops/primitive_c.h @@ -22,6 +22,7 @@ #include #include "ir/primitive.h" #include "ir/value.h" +#include "utils/hash_map.h" namespace mindspore { namespace ops { /// \brief PrimitiveC defines the base class for end side operators. @@ -61,7 +62,7 @@ class MS_CORE_API OpPrimCRegister { /// \brief Get PrimCMap of the OpPrimCRegister singleton. /// /// \return The PrimCMap of the OpPrimCRegister singleton. - std::map GetPrimCMap(); + const HashMap &GetPrimCMap(); /// \brief Add an element into the PrimCMap of the OpPrimCRegister singleton. /// @@ -71,7 +72,7 @@ class MS_CORE_API OpPrimCRegister { private: OpPrimCRegister() {} - std::map op_primc_fns_; + HashMap op_primc_fns_; }; /// \brief OpPrimCRegisterHelper defines the helper class for the OpPrimCRegister singleton.