From 616677104a0b16461c3958e3952017b423cc97fb Mon Sep 17 00:00:00 2001 From: Dmitri Smirnov Date: Mon, 15 Aug 2022 09:59:07 -0700 Subject: [PATCH] ONNX Protobuf natvis with some google::protobuf (#12580) ONNX Protobuf natvis with some google::protobuf structures Add leading underscore to local Intrinsic --- cmake/external/onnx_protobuf.natvis | 291 ++++++++++++++++++++++++++++ cmake/onnxruntime_graph.cmake | 9 + 2 files changed, 300 insertions(+) create mode 100644 cmake/external/onnx_protobuf.natvis diff --git a/cmake/external/onnx_protobuf.natvis b/cmake/external/onnx_protobuf.natvis new file mode 100644 index 0000000000..ee32395d20 --- /dev/null +++ b/cmake/external/onnx_protobuf.natvis @@ -0,0 +1,291 @@ + + + + + {{ size={current_size_} }} + + current_size_ + total_size_ + arena_or_elements_ + + current_size_ + ($T1*)arena_or_elements_ + + + + + {{ size={current_size_} }} + + current_size_ + total_size_ + arena_ + + current_size_ + ($T1**)rep_->elements + + + + + + {{ {*($T1*)ptr_} }} + + + + + + + {{ {key_.tagged_ptr_}:{value_.tagged_ptr_} }} + + key_.tagged_ptr_ + value_.tagged_ptr_ + + + + + {{ tensor_name={tensor_name_.tagged_ptr_} }} + + tensor_name_.tagged_ptr_ + quant_parameter_tensor_names_ + + + + + + {{ name={name_.tagged_ptr_} }} + + name_.tagged_ptr_ + type_ + _has_type() + + + + + {{ domain={ domain_.tagged_ptr_ }, version={ version_ } }} + + + + + + + + + + {{ name={ name_.tagged_ptr_ }, type={ (AttributeProto_AttributeType)type_ } }} + + name_.tagged_ptr_ + (AttributeProto_AttributeType)type_ + i_ + ints_ + f_ + floats_ + s_.tagged_ptr_ + strings_ + t_ + tensors_ + t_ + graphs_ + t_ + type_protos_ + sparse_tensor_ + sparse_tensors_ + ref_attr_name_.tagged_ptr_ + doc_string_.tagged_ptr_ + _has_tensor() + _has_graph() + _has_type_proto() + _has_sparse_tensor() + + + + + {{ name={ name_.tagged_ptr_ }, domain={ domain_.tagged_ptr_ } }} + + name_.tagged_ptr_ + domain_.tagged_ptr_ + op_type_.tagged_ptr_ + input_ + output_ + attribute_ + + + + + {{ name={ name_.tagged_ptr_ }, domain={ domain_.tagged_ptr_ } }} + + opset_import_ + input_ + output_ + node_ + doc_string_.tagged_ptr_ + + + + + {{ name={ name_.tagged_ptr_ } }} + + name_.tagged_ptr_ + value_info_ + input_ + output_ + node_ + initializer_ + sparse_initializer_ + doc_string_.tagged_ptr_ + + + + + {{ producer={producer_name_.tagged_ptr_}, domain={ domain_.tagged_ptr_ } }} + + opset_import_ + metadata_props_ + producer_version_.tagged_ptr_ + ir_version_ + model_version_ + doc_string_.tagged_ptr_ + graph_ + + + + + empty + {{ v = {value_.dim_value_} }} + {{ p = {value_.dim_param_.tagged_ptr_} }} + + + + + + {{ size={ dim_.current_size_ } }} + + dim_ + + + + + + {{ type={ (ValueCase)*_oneof_case_ } }} + + (ValueCase)*_oneof_case_ + value_.tensor_type_ + value_.sequence_type_ + value_.map_type_ + value_.sparse_tensor_type_ + value_.optional_type_ + denotation_.tagged_ptr_ + + + + + + {{ elem_type={ (TensorProto_DataType)elem_type_ } }} + + (TensorProto_DataType)elem_type_ + shape_ + _has_shape() + + + + + + {{ elem_type={ *elem_type_ } }} + + elem_type_ + _has_element_type() + + + + + + {{ key_type={ (TensorProto_DataType)key_type_ } }} + + (TensorProto_DataType)key_type_ + value_type_ + _has_value_type() + + + + + + {{ elem_type={ (TensorProto_DataType)elem_type_ } }} + + (TensorProto_DataType)elem_type_ + shape_ + _has_shape() + + + + + + {{ elem_type={ *elem_type_ } }} + + elem_type_ + _has_element_type() + + + + + + {{ begin={ begin_ }, end={ end_ } }} + + + + + + + + + + + + + + + + {{ name={name_.tagged_ptr_}, data_type={ (TensorProto_DataType)data_type_ } }} + + name_.tagged_ptr_ + (TensorProto_DataType)data_type_ + 1 + _shape_size_1() + _shape_size_2() + _shape_size_3() + _shape_size_4() + _shape_size_5() + dims_ + float_data_ + int32_data_ + int32_data_ + int32_data_ + int32_data_ + int64_data_ + int64_data_ + uint64_data_ + double_data_ + string_data_ + (std::string*)(raw_data_.tagged_ptr_.ptr_) + (TensorProto_DataLocation) data_location_ + external_data_ + _has_raw_data() + _has_data_location() + _has_segment() + + + + + + + {{ SparseTensorProto }} + + dims_ + values_ + indices_ + _has_values() + _has_indices() + + + \ No newline at end of file diff --git a/cmake/onnxruntime_graph.cmake b/cmake/onnxruntime_graph.cmake index 8afb54d2a1..35215714c6 100644 --- a/cmake/onnxruntime_graph.cmake +++ b/cmake/onnxruntime_graph.cmake @@ -87,6 +87,15 @@ endif() onnxruntime_add_static_library(onnxruntime_graph ${onnxruntime_graph_lib_src}) add_dependencies(onnxruntime_graph onnx_proto flatbuffers) onnxruntime_add_include_to_target(onnxruntime_graph onnxruntime_common onnx onnx_proto ${PROTOBUF_LIB} flatbuffers) + +if (MSVC) + set(ONNX_PROTOBUF_NATVIS_FILE "onnx_protobuf.natvis") + target_sources( + onnxruntime_graph + INTERFACE $ + ) +endif() + if(NOT MSVC) target_compile_options(onnxruntime_graph PRIVATE "-Wno-parentheses") endif()