1From aca0f17761a9f2ca9b9e3c076e0cead45aca8464 Mon Sep 17 00:00:00 2001 2From: rabbit-fgh <2955722401@qq.com> 3Date: Thu, 29 Aug 2024 10:57:05 +0800 4Subject: [PATCH] fix semicolon and nullptr etal 5 6--- 7 mindspore/lite/src/litert/c_api/context_c.cc | 4 ++-- 8 .../coreml/pass/coreml_trans_extend_pass.cc | 9 ++++++++- 9 .../src/litert/delegate/npu/npu_subgraph.cc | 4 ++++ 10 .../npu/pass/npu_insert_transform_pass.cc | 9 ++++++++- 11 .../litert/kernel/opencl/kernel/arithmetic.cc | 4 ++++ 12 .../litert/kernel/opencl/kernel/to_format.cc | 4 ++++ 13 .../src/litert/kernel/opencl/opencl_kernel.cc | 8 ++++++++ 14 .../cast_gather_reduce_fusion_pass.cc | 2 +- 15 .../pass/online_fusion/online_fusion_pass.h | 2 +- 16 .../online_fusion/reduce_concat_fusion_pass.cc | 2 +- 17 .../split_reduce_concat_fusion_pass.cc | 2 +- 18 .../src/litert/runtime_packed_node_pass.cc | 1 + 19 .../src/litert/runtime_shape_fusion_pass.cc | 18 +++++++++++++++--- 20 13 files changed, 58 insertions(+), 11 deletions(-) 21 22diff --git a/mindspore/lite/src/litert/c_api/context_c.cc b/mindspore/lite/src/litert/c_api/context_c.cc 23index 2fe3b055..ef7d4b6a 100644 24--- a/mindspore/lite/src/litert/c_api/context_c.cc 25+++ b/mindspore/lite/src/litert/c_api/context_c.cc 26@@ -517,8 +517,8 @@ OH_AI_API OH_AI_Status OH_AI_DeviceInfoAddExtension(OH_AI_DeviceInfoHandle devic 27 MS_LOG(ERROR) << "device info is null"; 28 return OH_AI_STATUS_LITE_NULLPTR; 29 } 30- if (name == nullptr || value == nullptr || value_size < 0) { 31- MS_LOG(ERROR) << "name/value/value_size is not valid"; 32+ if (name == nullptr || value == nullptr) { 33+ MS_LOG(ERROR) << "name/value is not valid"; 34 return OH_AI_STATUS_LITE_NULLPTR; 35 } 36 if (OH_AI_DeviceInfoGetDeviceType(device_info) != OH_AI_DEVICETYPE_NNRT) { 37diff --git a/mindspore/lite/src/litert/delegate/coreml/pass/coreml_trans_extend_pass.cc b/mindspore/lite/src/litert/delegate/coreml/pass/coreml_trans_extend_pass.cc 38index 810a29d0..d16fd0ee 100644 39--- a/mindspore/lite/src/litert/delegate/coreml/pass/coreml_trans_extend_pass.cc 40+++ b/mindspore/lite/src/litert/delegate/coreml/pass/coreml_trans_extend_pass.cc 41@@ -166,8 +166,15 @@ int CoreMLTransExtendPass::InsertTransNode(CoreMLOp *op, CoreMLOp *post_op, cons 42 43 auto *nc2nh_op = CoreMLPassUtils::CreateNchw2NhwcOp(nh2nc_tensors, nc2nh_tensors, nc2nh_name); 44 trans_ops->push_back(nc2nh_op); 45- 46+ if(nh2nc == nullptr){ 47+ MS_LOG(ERROR) << "nh2nc_op is nullptr."; 48+ return RET_ERROR; 49+ } 50 CoreMLPassUtils::UpdateOp(nh2nc_op, in_ops, {nc2nh_op}, {trans_in_tensor}, nh2nc_tensors); 51+ if(nc2nh_op == nullptr){ 52+ MS_LOG(ERROR) << "nc2nh_op is nullptr."; 53+ return RET_ERROR; 54+ } 55 CoreMLPassUtils::UpdateOp(nc2nh_op, {nh2nc_op}, out_ops, {nh2nc_tensors[0]}, nc2nh_tensors); 56 if (op != nullptr) { 57 CoreMLPassUtils::UpdateNH2NCTransNodePreOp(op, nh2nc_op, post_op); 58diff --git a/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc b/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc 59index 5f56dcea..9d8e233f 100644 60--- a/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc 61+++ b/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc 62@@ -170,6 +170,10 @@ int NPUSubGraph::BuildNPUInputOp() { 63 if (IsSubGraphInputTensor(in_tensor)) { 64 auto tensor_name = "Input_" + std::to_string(count++) + '_' + op->name(); 65 hiai::op::Data *data = ConverterToNPUData(in_tensor, tensor_name); 66+ if(data == nullptr){ 67+ MS_LOG(ERROR) << "data is nullptr."; 68+ return RET_ERROR; 69+ } 70 subgraph_input_ops_.push_back(*data); 71 input_ops.push_back(data); 72 op_buffer_.push_back(data); 73diff --git a/mindspore/lite/src/litert/delegate/npu/pass/npu_insert_transform_pass.cc b/mindspore/lite/src/litert/delegate/npu/pass/npu_insert_transform_pass.cc 74index b59037a4..8f4341b7 100644 75--- a/mindspore/lite/src/litert/delegate/npu/pass/npu_insert_transform_pass.cc 76+++ b/mindspore/lite/src/litert/delegate/npu/pass/npu_insert_transform_pass.cc 77@@ -166,8 +166,15 @@ int NPUInsertTransformPass::InsertTransNode(NPUOp *op, NPUOp *post_op, const min 78 79 auto *nc2nh_op = NPUPassUtils::CreateNchw2NhwcOp(nh2nc_tensors, nc2nh_tensors, nc2nh_name); 80 trans_ops->push_back(nc2nh_op); 81- 82+ if(nh2nc_op == nullptr){ 83+ MS_LOG(ERROR) << "nh2nc_op is nullptr."; 84+ return RET_ERROR; 85+ } 86 NPUPassUtils::UpdateOp(nh2nc_op, in_ops, {nc2nh_op}, {trans_in_tensor}, nh2nc_tensors); 87+ if(nc2nh_op == nullptr){ 88+ MS_LOG(ERROR) << "nc2nh_op is nullptr."; 89+ return RET_ERROR; 90+ } 91 NPUPassUtils::UpdateOp(nc2nh_op, {nh2nc_op}, out_ops, {nh2nc_tensors[0]}, nc2nh_tensors); 92 if (op != nullptr) { 93 NPUPassUtils::UpdateNH2NCTransNodePreOp(op, nh2nc_op, post_op); 94diff --git a/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc b/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc 95index 36edecb1..b70984ca 100644 96--- a/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc 97+++ b/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc 98@@ -121,6 +121,10 @@ int ArithmeticOpenCLKernel::InitWeights() { 99 for (size_t i = 0; i < in_tensors_.size(); ++i) { 100 const auto &in_tensor = in_tensors_.at(i); 101 auto in_shape = GpuTensorInfo::CreateGpuTensorInfo(in_tensor); 102+ if(in_shape == nullptr){ 103+ MS_LOG(ERROR) << "in_shape is nullptr."; 104+ return RET_ERROR; 105+ } 106 if (in1_shape_switch_flag_ && i == 1) { 107 SwitchGpuTensorInfoNWDim(in_shape.get()); 108 } 109diff --git a/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc b/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc 110index 54748128..7db2480e 100644 111--- a/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc 112+++ b/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc 113@@ -94,6 +94,10 @@ int ToFormatOpenCLKernel::Prepare() { 114 } 115 116 auto output = GpuTensorInfo::CreateGpuTensorInfo(out_tensor); 117+ if(output == nullptr){ 118+ MS_LOG(ERROR) << "output is nullptr."; 119+ return RET_ERROR; 120+ } 121 N_ = output->N; 122 D_ = output->D; 123 H_ = output->H; 124diff --git a/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc b/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc 125index 790e0f4e..3acfa855 100644 126--- a/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc 127+++ b/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc 128@@ -119,6 +119,10 @@ int OpenCLKernel::GetImageSize(size_t idx, lite::opencl::ImageSize *img_size) { 129 return RET_ERROR; 130 } 131 } 132+ if(img_info == nullptr){ 133+ MS_LOG(ERROR) << "img_info is nullptr."; 134+ return RET_ERROR; 135+ } 136 *img_size = {img_info->width, img_info->height, img_dtype}; 137 return RET_OK; 138 } 139@@ -147,6 +151,10 @@ void OpenCLKernel::PrintOutput(int print_num, const std::string &out_file) { 140 } 141 142 auto img_info = GpuTensorInfo::CreateGpuTensorInfo(tensor); 143+ if(img_info == nullptr){ 144+ MS_LOG(ERROR) << "img_info is nullptr."; 145+ return; 146+ } 147 auto size = mem_type == lite::opencl::MemType::BUF ? img_info->OriginSize : img_info->Image2DSize; 148 std::vector<char> data(size); 149 auto runtime_wrapper = lite::opencl::OpenCLRuntimeInnerWrapper(); 150diff --git a/mindspore/lite/src/litert/pass/online_fusion/cast_gather_reduce_fusion_pass.cc b/mindspore/lite/src/litert/pass/online_fusion/cast_gather_reduce_fusion_pass.cc 151index 00186dc7..7d59b63d 100644 152--- a/mindspore/lite/src/litert/pass/online_fusion/cast_gather_reduce_fusion_pass.cc 153+++ b/mindspore/lite/src/litert/pass/online_fusion/cast_gather_reduce_fusion_pass.cc 154@@ -127,7 +127,7 @@ int CastGatherReduceOnlineFusionPass::CreateCastGatherReduceCustomNode(LiteGraph 155 (void)memcpy(prim, fbb.GetBufferPointer(), fbb.GetSize()); 156 auto online_fusion_prim = flatbuffers::GetRoot<schema::Primitive>(prim); 157 if (online_fusion_prim == nullptr) { 158- free(prim) 159+ free(prim); 160 MS_LOG(ERROR) << "GetRoot CastGatherReduceFusion primitive failed."; 161 return RET_ERROR; 162 } 163diff --git a/mindspore/lite/src/litert/pass/online_fusion/online_fusion_pass.h b/mindspore/lite/src/litert/pass/online_fusion/online_fusion_pass.h 164index 9bfa68bd..7ea6fe7f 100644 165--- a/mindspore/lite/src/litert/pass/online_fusion/online_fusion_pass.h 166+++ b/mindspore/lite/src/litert/pass/online_fusion/online_fusion_pass.h 167@@ -36,7 +36,7 @@ namespace mindspore::lite { 168 class OnlineFusionPass { 169 public: 170 explicit OnlineFusionPass(SearchSubGraph *search_subgrap); 171- ~OnlineFusionPass(); 172+ virtual ~OnlineFusionPass(); 173 174 public: 175 void DoOnlineFusionPass(); 176diff --git a/mindspore/lite/src/litert/pass/online_fusion/reduce_concat_fusion_pass.cc b/mindspore/lite/src/litert/pass/online_fusion/reduce_concat_fusion_pass.cc 177index 21115cc5..fcbd703e 100644 178--- a/mindspore/lite/src/litert/pass/online_fusion/reduce_concat_fusion_pass.cc 179+++ b/mindspore/lite/src/litert/pass/online_fusion/reduce_concat_fusion_pass.cc 180@@ -135,7 +135,7 @@ int ReduceConcatOnlineFusionPass::CreateReduceConcatCustomNode(LiteGraph::Node * 181 (void)memcpy(prim, fbb.GetBufferPointer(), fbb.GetSize()); 182 auto online_fusion_prim = flatbuffers::GetRoot<schema::Primitive>(prim); 183 if (online_fusion_prim == nullptr) { 184- free(prim) 185+ free(prim); 186 MS_LOG(ERROR) << "GetRoot ReduceConcatFusion primitive failed."; 187 return RET_ERROR; 188 } 189diff --git a/mindspore/lite/src/litert/pass/online_fusion/split_reduce_concat_fusion_pass.cc b/mindspore/lite/src/litert/pass/online_fusion/split_reduce_concat_fusion_pass.cc 190index f9a08a04..88bb86f9 100644 191--- a/mindspore/lite/src/litert/pass/online_fusion/split_reduce_concat_fusion_pass.cc 192+++ b/mindspore/lite/src/litert/pass/online_fusion/split_reduce_concat_fusion_pass.cc 193@@ -233,7 +233,7 @@ int SplitReduceConcatOnlineFusionPass::CreateCustomNode(LiteGraph::Node *node, S 194 (void)memcpy(prim, fbb.GetBufferPointer(), fbb.GetSize()); 195 auto online_fusion_prim = flatbuffers::GetRoot<schema::Primitive>(prim); 196 if (online_fusion_prim == nullptr) { 197- free(prim) 198+ free(prim); 199 MS_LOG(ERROR) << "GetRoot SplitReduceConcatFusion primitive failed."; 200 return RET_ERROR; 201 } 202diff --git a/mindspore/lite/src/litert/runtime_packed_node_pass.cc b/mindspore/lite/src/litert/runtime_packed_node_pass.cc 203index 65454247..15e8d491 100644 204--- a/mindspore/lite/src/litert/runtime_packed_node_pass.cc 205+++ b/mindspore/lite/src/litert/runtime_packed_node_pass.cc 206@@ -112,6 +112,7 @@ void PackedNodePass::Run(Model *model, const std::vector<Tensor *> &tensors) { 207 if (!(reinterpret_cast<lite::LiteModel *>(model)->keep_model_buf())) { 208 auto index = static_cast<size_t>(pack_info->weight_sums_index_); 209 if (index > tensors.size()) { 210+ free(prim); 211 MS_LOG(ERROR) << "weight sums tensor index is error."; 212 return; 213 } 214diff --git a/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc b/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc 215index f6fc0f82..1f343af8 100644 216--- a/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc 217+++ b/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc 218@@ -52,12 +52,24 @@ int ShapeFusionPass::ConvertToShapeFusion(LiteGraph::Node *node) { 219 fbb.Clear(); 220 221 auto shape_fusion_prim = flatbuffers::GetRoot<schema::Primitive>(prim); 222- MS_CHECK_TRUE_RET(shape_fusion_prim != nullptr, RET_ERROR); 223+ if(shape_fusion_prim == nullptr){ 224+ free(prim); 225+ MS_LOG(ERROR) << "shape_fusion_prim is nullptr"; 226+ return RET_ERROR; 227+ } 228 ShapeFusionMatrix shape_fusion_matrix(shape.size()); 229- MS_CHECK_TRUE_RET(!node->output_indices_.empty(), RET_ERROR); 230+ if(node->output_indices_.empty()){ 231+ free(prim); 232+ MS_LOG(ERROR) << "node->output_indices_ is empty"; 233+ return RET_ERROR; 234+ } 235 shape_fusion_matrices_[node->output_indices_.front()] = shape_fusion_matrix; 236 auto shape_fusion_matrix_tensor = BuildTensorFromShapeFusionMatrix(shape_fusion_matrix); 237- MS_CHECK_TRUE_RET(shape_fusion_matrix_tensor != nullptr, RET_ERROR); 238+ if(shape_fusion_matrix_tensor == nullptr){ 239+ free(prim); 240+ MS_LOG(ERROR) << "shape_fusion_matrix_tensor is nullptr"; 241+ return RET_ERROR; 242+ } 243 244 node->name_ += "_fusion"; 245 node->primitive_ = shape_fusion_prim; 246-- 2472.45.1.windows.1 248 249