; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/convolution.ll (ZN6ngraph2op2v011Convolution24validate_and_infer_typesEv)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.ngraph::Strides" = type { %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::CoordinateDiff" = type { %"class.std::vector.74" }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.69" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.126" }
%"class.std::vector.126" = type { %"struct.std::_Vector_base.127" }
%"struct.std::_Vector_base.127" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::element::Type" = type { i32 }
%"class.__gnu_cxx::__normal_iterator.131" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }
%"class.ngraph::op::v0::Convolution" = type <{ %"class.ngraph::op::Op", %"class.ngraph::Strides", %"class.ngraph::Strides", %"class.ngraph::CoordinateDiff", %"class.ngraph::CoordinateDiff", %"class.ngraph::Strides", i32, [4 x i8] }>
%"class.ngraph::op::Op" = type { %"class.ngraph::Node" }
%"class.ngraph::Node" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::unordered_set", %"class.std::unordered_set", %"class.std::vector", %"class.std::vector.5", %"class.std::__cxx11::basic_string", i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unordered_set.13", %"class.std::set", %"class.std::deque", %"class.std::deque.39", %"class.std::unordered_map", i32, %"class.std::shared_ptr", %"class.std::map" }
%"class.std::enable_shared_from_this" = type { %"class.std::weak_ptr" }
%"class.std::weak_ptr" = type { %"class.std::__weak_ptr" }
%"class.std::__weak_ptr" = type { ptr, %"class.std::__weak_count" }
%"class.std::__weak_count" = type { ptr }
%"class.std::unordered_set" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Node *, std::allocator<ngraph::Node *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<ngraph::Node>, std::allocator<std::shared_ptr<ngraph::Node>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_set.13" = type { %"class.std::_Hashtable.14" }
%"class.std::_Hashtable.14" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::shared_ptr<ngraph::Node>, std::shared_ptr<ngraph::Node>, std::_Identity<std::shared_ptr<ngraph::Node>>, std::less<std::shared_ptr<ngraph::Node>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Input, std::allocator<ngraph::descriptor::Input>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.39" = type { %"class.std::_Deque_base.40" }
%"class.std::_Deque_base.40" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl" = type { %"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" }
%"struct.std::_Deque_base<ngraph::descriptor::Output, std::allocator<ngraph::descriptor::Output>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.44", %"struct.std::_Deque_iterator.44" }
%"struct.std::_Deque_iterator.44" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.45" }
%"class.std::_Hashtable.45" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::map" = type { %"class.std::_Rb_tree.64" }
%"class.std::_Rb_tree.64" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<ngraph::Variant>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@.str.5 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [59 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nounwind
declare void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) #3

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) #3

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

declare void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::Strides") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

declare void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #1

declare noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

declare void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8, ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt6vectorImSaImEE5eraseEN9__gnu_cxx17__normal_iteratorIPKmS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24), ptr, ptr) #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) #2 align 2

declare void @_ZN6ngraph18infer_auto_paddingERKNS_5ShapeES2_RKNS_7StridesES5_NS_2op7PadTypeERNS_14CoordinateDiffES9_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #3

; Function Attrs: nounwind
declare void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

declare noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #3

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA81_cJRNS_7element4TypeERA25_KcS4_RA3_S5_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(81), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(25), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(3)) #6

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(128)) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

; Function Attrs: nounwind
declare void @_ZNSt13runtime_errorD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #2 align 2

declare void @_ZN6ngraph25infer_convolution_forwardEPKNS_4NodeERKNS_12PartialShapeERKNS_7StridesERKNS_14CoordinateDiffESB_S5_S8_S8_(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #7 align 2

declare void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v011Convolution24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(804) %0) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca ptr, align 8
  %4 = alloca %"class.ngraph::element::Type", align 4
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca %"class.ngraph::element::Type", align 4
  %9 = alloca %"class.ngraph::Strides", align 8
  %10 = alloca %"class.ngraph::Strides", align 8
  %11 = alloca %"class.ngraph::Strides", align 8
  %12 = alloca %"class.ngraph::CoordinateDiff", align 8
  %13 = alloca %"class.ngraph::CoordinateDiff", align 8
  %14 = alloca %"class.ngraph::Shape", align 8
  %15 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %16 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %21 = alloca %"class.ngraph::Shape", align 8
  %22 = alloca %"class.ngraph::element::Type", align 4
  %23 = alloca %"class.ngraph::PartialShape", align 8
  %24 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %25 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca i1, align 1
  %28 = alloca %"class.ngraph::PartialShape", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %29 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #8
  %30 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %29, i64 noundef 0)
  store ptr %30, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #8
  %31 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %29, i64 noundef 0)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %4, ptr align 4 %31, i64 4, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #8
  %32 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %29, i64 noundef 1)
          to label %33 unwind label %45

33:                                               ; preds = %1
  store ptr %32, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #8
  %34 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %29, i64 noundef 1)
          to label %35 unwind label %49

35:                                               ; preds = %33
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %8, ptr align 4 %34, i64 4, i1 false), !tbaa.struct !9
  %36 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 5
  %37 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  %38 = icmp eq i64 %37, 0
  br i1 %38, label %39, label %57

39:                                               ; preds = %35
  call void @llvm.lifetime.start.p0(i64 24, ptr %9) #8
  %40 = load ptr, ptr %3, align 8, !tbaa !5
  %41 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::Strides") align 8 %9, ptr noundef %29, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %42 unwind label %53

42:                                               ; preds = %39
  %43 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 5
  %44 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %9) #8
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #8
  br label %57

45:                                               ; preds = %1
  %46 = landingpad { ptr, i32 }
          cleanup
  %47 = extractvalue { ptr, i32 } %46, 0
  store ptr %47, ptr %6, align 8
  %48 = extractvalue { ptr, i32 } %46, 1
  store i32 %48, ptr %7, align 4
  br label %253

49:                                               ; preds = %33
  %50 = landingpad { ptr, i32 }
          cleanup
  %51 = extractvalue { ptr, i32 } %50, 0
  store ptr %51, ptr %6, align 8
  %52 = extractvalue { ptr, i32 } %50, 1
  store i32 %52, ptr %7, align 4
  br label %252

53:                                               ; preds = %39
  %54 = landingpad { ptr, i32 }
          cleanup
  %55 = extractvalue { ptr, i32 } %54, 0
  store ptr %55, ptr %6, align 8
  %56 = extractvalue { ptr, i32 } %54, 1
  store i32 %56, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #8
  br label %251

57:                                               ; preds = %42, %35
  %58 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 1
  %59 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %58) #8
  %60 = icmp eq i64 %59, 0
  br i1 %60, label %61, label %71

61:                                               ; preds = %57
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #8
  %62 = load ptr, ptr %3, align 8, !tbaa !5
  %63 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::Strides") align 8 %10, ptr noundef %29, ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %64 unwind label %67

64:                                               ; preds = %61
  %65 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 1
  %66 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #8
  br label %71

67:                                               ; preds = %61
  %68 = landingpad { ptr, i32 }
          cleanup
  %69 = extractvalue { ptr, i32 } %68, 0
  store ptr %69, ptr %6, align 8
  %70 = extractvalue { ptr, i32 } %68, 1
  store i32 %70, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #8
  br label %251

71:                                               ; preds = %64, %57
  %72 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 2
  %73 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %72) #8
  %74 = icmp eq i64 %73, 0
  br i1 %74, label %75, label %85

75:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #8
  %76 = load ptr, ptr %3, align 8, !tbaa !5
  %77 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::Strides") align 8 %11, ptr noundef %29, ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %78 unwind label %81

78:                                               ; preds = %75
  %79 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 2
  %80 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %79, ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #8
  br label %85

81:                                               ; preds = %75
  %82 = landingpad { ptr, i32 }
          cleanup
  %83 = extractvalue { ptr, i32 } %82, 0
  store ptr %83, ptr %6, align 8
  %84 = extractvalue { ptr, i32 } %82, 1
  store i32 %84, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #8
  br label %251

85:                                               ; preds = %78, %71
  %86 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 3
  %87 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %86) #8
  %88 = icmp eq i64 %87, 0
  br i1 %88, label %89, label %99

89:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #8
  %90 = load ptr, ptr %3, align 8, !tbaa !5
  %91 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8 %12, ptr noundef %29, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %92 unwind label %95

92:                                               ; preds = %89
  %93 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 3
  %94 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %93, ptr noundef nonnull align 8 dereferenceable(24) %12) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #8
  br label %99

95:                                               ; preds = %89
  %96 = landingpad { ptr, i32 }
          cleanup
  %97 = extractvalue { ptr, i32 } %96, 0
  store ptr %97, ptr %6, align 8
  %98 = extractvalue { ptr, i32 } %96, 1
  store i32 %98, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #8
  br label %251

99:                                               ; preds = %92, %85
  %100 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 4
  %101 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  %102 = icmp eq i64 %101, 0
  br i1 %102, label %103, label %113

103:                                              ; preds = %99
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #8
  %104 = load ptr, ptr %3, align 8, !tbaa !5
  %105 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8 %13, ptr noundef %29, ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull align 8 dereferenceable(32) %105)
          to label %106 unwind label %109

106:                                              ; preds = %103
  %107 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 4
  %108 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %107, ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #8
  br label %113

109:                                              ; preds = %103
  %110 = landingpad { ptr, i32 }
          cleanup
  %111 = extractvalue { ptr, i32 } %110, 0
  store ptr %111, ptr %6, align 8
  %112 = extractvalue { ptr, i32 } %110, 1
  store i32 %112, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #8
  br label %251

113:                                              ; preds = %106, %99
  %114 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 6
  %115 = load i32, ptr %114, align 8, !tbaa !12
  %116 = icmp eq i32 %115, 2
  br i1 %116, label %121, label %117

117:                                              ; preds = %113
  %118 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 6
  %119 = load i32, ptr %118, align 8, !tbaa !12
  %120 = icmp eq i32 %119, 1
  br i1 %120, label %121, label %180

121:                                              ; preds = %117, %113
  %122 = load ptr, ptr %3, align 8, !tbaa !5
  %123 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %122)
          to label %124 unwind label %156

124:                                              ; preds = %121
  br i1 %123, label %125, label %179

125:                                              ; preds = %124
  %126 = load ptr, ptr %5, align 8, !tbaa !5
  %127 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %126)
          to label %128 unwind label %156

128:                                              ; preds = %125
  br i1 %127, label %129, label %179

129:                                              ; preds = %128
  %130 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 3
  call void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %130) #8
  %131 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 4
  call void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %131) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #8
  %132 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %132)
          to label %133 unwind label %160

133:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #8
  %134 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  %135 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %16, i32 0, i32 0
  store ptr %134, ptr %135, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  %136 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  %137 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %19, i32 0, i32 0
  store ptr %136, ptr %137, align 8
  %138 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %19, i64 noundef 2) #8
  %139 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %18, i32 0, i32 0
  store ptr %138, ptr %139, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  %140 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %15, i32 0, i32 0
  %141 = load ptr, ptr %140, align 8
  %142 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.131", ptr %17, i32 0, i32 0
  %143 = load ptr, ptr %142, align 8
  %144 = invoke ptr @_ZNSt6vectorImSaImEE5eraseEN9__gnu_cxx17__normal_iteratorIPKmS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr %141, ptr %143)
          to label %145 unwind label %164

145:                                              ; preds = %133
  %146 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %20, i32 0, i32 0
  store ptr %144, ptr %146, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #8
  %147 = load ptr, ptr %3, align 8, !tbaa !5
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %21, ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %148 unwind label %168

148:                                              ; preds = %145
  %149 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 1
  %150 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 2
  %151 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 6
  %152 = load i32, ptr %151, align 8, !tbaa !12
  %153 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 4
  %154 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 3
  invoke void @_ZN6ngraph18infer_auto_paddingERKNS_5ShapeES2_RKNS_7StridesES5_NS_2op7PadTypeERNS_14CoordinateDiffES9_(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %149, ptr noundef nonnull align 8 dereferenceable(24) %150, i32 noundef %152, ptr noundef nonnull align 8 dereferenceable(24) %153, ptr noundef nonnull align 8 dereferenceable(24) %154)
          to label %155 unwind label %172

155:                                              ; preds = %148
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #8
  br label %179

156:                                              ; preds = %125, %121
  %157 = landingpad { ptr, i32 }
          cleanup
  %158 = extractvalue { ptr, i32 } %157, 0
  store ptr %158, ptr %6, align 8
  %159 = extractvalue { ptr, i32 } %157, 1
  store i32 %159, ptr %7, align 4
  br label %251

160:                                              ; preds = %129
  %161 = landingpad { ptr, i32 }
          cleanup
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %6, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %7, align 4
  br label %178

164:                                              ; preds = %133
  %165 = landingpad { ptr, i32 }
          cleanup
  %166 = extractvalue { ptr, i32 } %165, 0
  store ptr %166, ptr %6, align 8
  %167 = extractvalue { ptr, i32 } %165, 1
  store i32 %167, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  br label %177

168:                                              ; preds = %145
  %169 = landingpad { ptr, i32 }
          cleanup
  %170 = extractvalue { ptr, i32 } %169, 0
  store ptr %170, ptr %6, align 8
  %171 = extractvalue { ptr, i32 } %169, 1
  store i32 %171, ptr %7, align 4
  br label %176

172:                                              ; preds = %148
  %173 = landingpad { ptr, i32 }
          cleanup
  %174 = extractvalue { ptr, i32 } %173, 0
  store ptr %174, ptr %6, align 8
  %175 = extractvalue { ptr, i32 } %173, 1
  store i32 %175, ptr %7, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  br label %176

176:                                              ; preds = %172, %168
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  br label %177

177:                                              ; preds = %176, %164
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  br label %178

178:                                              ; preds = %177, %160
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #8
  br label %251

179:                                              ; preds = %155, %128, %124
  br label %180

180:                                              ; preds = %179, %117
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #8
  invoke void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %181 unwind label %197

181:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #8
  invoke void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %182 unwind label %201

182:                                              ; preds = %181
  br label %183

183:                                              ; preds = %182
  %184 = invoke noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %185 unwind label %205

185:                                              ; preds = %183
  br i1 %184, label %231, label %186

186:                                              ; preds = %185
  call void @llvm.lifetime.start.p0(i64 392, ptr %24) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %24)
          to label %187 unwind label %209

187:                                              ; preds = %186
  %188 = getelementptr inbounds i8, ptr %24, i64 16
  %189 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA81_cJRNS_7element4TypeERA25_KcS4_RA3_S5_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %188, ptr noundef nonnull align 1 dereferenceable(81) @.str.5, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 1 dereferenceable(25) @.str.6, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 1 dereferenceable(3) @.str.7)
          to label %190 unwind label %213

190:                                              ; preds = %187
  store i1 true, ptr %27, align 1
  %191 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %25) #8
  %192 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %25, i32 0, i32 0
  store ptr @.str.8, ptr %192, align 8, !tbaa !78
  %193 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %25, i32 0, i32 1
  store i32 787, ptr %193, align 8, !tbaa !80
  %194 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %25, i32 0, i32 2
  store ptr @.str.9, ptr %194, align 8, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(128) %24)
          to label %195 unwind label %217

195:                                              ; preds = %190
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %191, ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef %29, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %196 unwind label %221

196:                                              ; preds = %195
  store i1 false, ptr %27, align 1
  invoke void @__cxa_throw(ptr %191, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %259 unwind label %221

197:                                              ; preds = %180
  %198 = landingpad { ptr, i32 }
          cleanup
  %199 = extractvalue { ptr, i32 } %198, 0
  store ptr %199, ptr %6, align 8
  %200 = extractvalue { ptr, i32 } %198, 1
  store i32 %200, ptr %7, align 4
  br label %250

201:                                              ; preds = %181
  %202 = landingpad { ptr, i32 }
          cleanup
  %203 = extractvalue { ptr, i32 } %202, 0
  store ptr %203, ptr %6, align 8
  %204 = extractvalue { ptr, i32 } %202, 1
  store i32 %204, ptr %7, align 4
  br label %249

205:                                              ; preds = %241, %183
  %206 = landingpad { ptr, i32 }
          cleanup
  %207 = extractvalue { ptr, i32 } %206, 0
  store ptr %207, ptr %6, align 8
  %208 = extractvalue { ptr, i32 } %206, 1
  store i32 %208, ptr %7, align 4
  br label %248

209:                                              ; preds = %186
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %6, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %7, align 4
  br label %230

213:                                              ; preds = %187
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %6, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %7, align 4
  br label %229

217:                                              ; preds = %190
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %6, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %7, align 4
  br label %225

221:                                              ; preds = %196, %195
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %6, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  br label %225

225:                                              ; preds = %221, %217
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %25) #8
  %226 = load i1, ptr %27, align 1
  br i1 %226, label %227, label %228

227:                                              ; preds = %225
  call void @__cxa_free_exception(ptr %191) #8
  br label %228

228:                                              ; preds = %227, %225
  br label %229

229:                                              ; preds = %228, %213
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %24) #8
  br label %230

230:                                              ; preds = %229, %209
  call void @llvm.lifetime.end.p0(i64 392, ptr %24) #8
  br label %248

231:                                              ; preds = %185
  br label %232

232:                                              ; preds = %231
  br label %233

233:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #8
  %234 = load ptr, ptr %3, align 8, !tbaa !5
  %235 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 5
  %236 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 3
  %237 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 4
  %238 = load ptr, ptr %5, align 8, !tbaa !5
  %239 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 1
  %240 = getelementptr inbounds %"class.ngraph::op::v0::Convolution", ptr %29, i32 0, i32 2
  invoke void @_ZN6ngraph25infer_convolution_forwardEPKNS_4NodeERKNS_12PartialShapeERKNS_7StridesERKNS_14CoordinateDiffESB_S5_S8_S8_(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %28, ptr noundef %29, ptr noundef nonnull align 8 dereferenceable(32) %234, ptr noundef nonnull align 8 dereferenceable(24) %235, ptr noundef nonnull align 8 dereferenceable(24) %236, ptr noundef nonnull align 8 dereferenceable(24) %237, ptr noundef nonnull align 8 dereferenceable(32) %238, ptr noundef nonnull align 8 dereferenceable(24) %239, ptr noundef nonnull align 8 dereferenceable(24) %240)
          to label %241 unwind label %244

241:                                              ; preds = %233
  %242 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %29, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %243 unwind label %205

243:                                              ; preds = %241
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %22) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #8
  ret void

244:                                              ; preds = %233
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %6, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  br label %248

248:                                              ; preds = %244, %230, %205
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  br label %249

249:                                              ; preds = %248, %201
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %22) #8
  br label %250

250:                                              ; preds = %249, %197
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #8
  br label %251

251:                                              ; preds = %250, %178, %156, %109, %95, %81, %67, %53
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %8) #8
  br label %252

252:                                              ; preds = %251, %49
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  br label %253

253:                                              ; preds = %252, %45
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #8
  br label %254

254:                                              ; preds = %253
  %255 = load ptr, ptr %6, align 8
  %256 = load i32, ptr %7, align 4
  %257 = insertvalue { ptr, i32 } poison, ptr %255, 0
  %258 = insertvalue { ptr, i32 } %257, i32 %256, 1
  resume { ptr, i32 } %258

259:                                              ; preds = %196
  unreachable
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nounwind }
attributes #9 = { noreturn }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{i64 0, i64 4, !10}
!10 = !{!11, !11, i64 0}
!11 = !{!"_ZTSN6ngraph7element6Type_tE", !7, i64 0}
!12 = !{!13, !77, i64 800}
!13 = !{!"_ZTSN6ngraph2op2v011ConvolutionE", !14, i64 0, !67, i64 680, !67, i64 704, !72, i64 728, !72, i64 752, !67, i64 776, !77, i64 800}
!14 = !{!"_ZTSN6ngraph2op2OpE", !15, i64 0}
!15 = !{!"_ZTSN6ngraph4NodeE", !16, i64 8, !20, i64 24, !20, i64 80, !26, i64 136, !30, i64 160, !34, i64 184, !22, i64 216, !34, i64 224, !34, i64 256, !36, i64 288, !38, i64 344, !46, i64 392, !51, i64 472, !56, i64 552, !58, i64 608, !59, i64 616, !62, i64 632}
!16 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !17, i64 0}
!17 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !18, i64 0}
!18 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !19, i64 8}
!19 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!20 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !21, i64 0}
!21 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !22, i64 8, !23, i64 16, !22, i64 24, !24, i64 32, !6, i64 48}
!22 = !{!"long", !7, i64 0}
!23 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!24 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !25, i64 0, !22, i64 8}
!25 = !{!"float", !7, i64 0}
!26 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !27, i64 0}
!27 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!30 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !31, i64 0}
!31 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!34 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !35, i64 0, !22, i64 8, !7, i64 16}
!35 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!36 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !37, i64 0}
!37 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEE", !6, i64 0, !22, i64 8, !23, i64 16, !22, i64 24, !24, i64 32, !6, i64 48}
!38 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !39, i64 0}
!39 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !40, i64 0}
!40 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !41, i64 0, !43, i64 8}
!41 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !42, i64 0}
!42 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!43 = !{!"_ZTSSt15_Rb_tree_header", !44, i64 0, !22, i64 32}
!44 = !{!"_ZTSSt18_Rb_tree_node_base", !45, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!45 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!46 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !47, i64 0}
!47 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !48, i64 0}
!48 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !49, i64 0}
!49 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !22, i64 8, !50, i64 16, !50, i64 48}
!50 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!51 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !52, i64 0}
!52 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !53, i64 0}
!53 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !54, i64 0}
!54 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !22, i64 8, !55, i64 16, !55, i64 48}
!55 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!56 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !57, i64 0}
!57 = !{!"_ZTSSt10_HashtableIPN6ngraph4NodeESt4pairIKS2_NS0_8autodiff8AdjointsEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !22, i64 8, !23, i64 16, !22, i64 24, !24, i64 32, !6, i64 48}
!58 = !{!"int", !7, i64 0}
!59 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !60, i64 0}
!60 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !61, i64 8}
!61 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!62 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !63, i64 0}
!63 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !64, i64 0}
!64 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !65, i64 0, !43, i64 8}
!65 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !66, i64 0}
!66 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!67 = !{!"_ZTSN6ngraph7StridesE", !68, i64 0}
!68 = !{!"_ZTSSt6vectorImSaImEE", !69, i64 0}
!69 = !{!"_ZTSSt12_Vector_baseImSaImEE", !70, i64 0}
!70 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !71, i64 0}
!71 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!72 = !{!"_ZTSN6ngraph14CoordinateDiffE", !73, i64 0}
!73 = !{!"_ZTSSt6vectorIlSaIlEE", !74, i64 0}
!74 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !75, i64 0}
!75 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !76, i64 0}
!76 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!77 = !{!"_ZTSN6ngraph2op7PadTypeE", !7, i64 0}
!78 = !{!79, !6, i64 0}
!79 = !{!"_ZTSN6ngraph12CheckLocInfoE", !6, i64 0, !58, i64 8, !6, i64 16}
!80 = !{!79, !58, i64 8}
!81 = !{!79, !6, i64 16}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.ngraph::Strides" = type { %"class.std::vector.69" }
%"class.std::vector.69" = type { %"struct.std::_Vector_base.70" }
%"struct.std::_Vector_base.70" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::CoordinateDiff" = type { %"class.std::vector.74" }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::Shape" = type { %"class.std::vector.69" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.126" }
%"class.std::vector.126" = type { %"struct.std::_Vector_base.127" }
%"struct.std::_Vector_base.127" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl" = type { %"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ngraph::Dimension, std::allocator<ngraph::Dimension>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.ngraph::element::Type" = type { i32 }
%"class.__gnu_cxx::__normal_iterator.131" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"struct.ngraph::CheckLocInfo" = type { ptr, i32, ptr }

@.str.5 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [59 x i8], align 1
@_ZTIN6ngraph21NodeValidationFailureE = external dso_local constant { ptr, ptr, ptr }, align 8

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nounwind
declare void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) local_unnamed_addr #3

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

declare void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::Strides") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

declare void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1

declare noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

declare void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt6vectorImSaImEE5eraseEN9__gnu_cxx17__normal_iteratorIPKmS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24), ptr, ptr) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) local_unnamed_addr #2 align 2

declare void @_ZN6ngraph18infer_auto_paddingERKNS_5ShapeES2_RKNS_7StridesES5_NS_2op7PadTypeERNS_14CoordinateDiffES9_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3

; Function Attrs: nounwind
declare void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

declare noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA81_cJRNS_7element4TypeERA25_KcS4_RA3_S5_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(81), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(25), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(3)) local_unnamed_addr #5

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

; Function Attrs: nounwind
declare void @_ZNSt13runtime_errorD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1

declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr

declare void @__cxa_free_exception(ptr) local_unnamed_addr

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #2 align 2

declare void @_ZN6ngraph25infer_convolution_forwardEPKNS_4NodeERKNS_12PartialShapeERKNS_7StridesERKNS_14CoordinateDiffESB_S5_S8_S8_(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #6 align 2

declare void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680), i64 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v011Convolution24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(804) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.ngraph::element::Type", align 4
  %3 = alloca %"class.ngraph::element::Type", align 4
  %4 = alloca %"class.ngraph::Strides", align 8
  %5 = alloca %"class.ngraph::Strides", align 8
  %6 = alloca %"class.ngraph::Strides", align 8
  %7 = alloca %"class.ngraph::CoordinateDiff", align 8
  %8 = alloca %"class.ngraph::CoordinateDiff", align 8
  %9 = alloca %"class.ngraph::Shape", align 8
  %10 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %11 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %12 = alloca %"class.__gnu_cxx::__normal_iterator.131", align 8
  %13 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %14 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %15 = alloca %"class.ngraph::Shape", align 8
  %16 = alloca %"class.ngraph::element::Type", align 4
  %17 = alloca %"class.ngraph::PartialShape", align 8
  %18 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %19 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.ngraph::PartialShape", align 8
  %22 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #7
  %23 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  %24 = load i32, ptr %23, align 4, !tbaa !5
  store i32 %24, ptr %2, align 4, !tbaa !5
  %25 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %26 unwind label %36

26:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #7
  %27 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 1)
          to label %28 unwind label %38

28:                                               ; preds = %26
  %29 = load i32, ptr %27, align 4, !tbaa !5
  store i32 %29, ptr %3, align 4, !tbaa !5
  %30 = getelementptr inbounds i8, ptr %0, i64 776
  %31 = tail call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  %32 = icmp eq i64 %31, 0
  br i1 %32, label %33, label %42

33:                                               ; preds = %28
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #7
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Strides") align 8 %4, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %34 unwind label %40

34:                                               ; preds = %33
  %35 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  br label %42

36:                                               ; preds = %1
  %37 = landingpad { ptr, i32 }
          cleanup
  br label %151

38:                                               ; preds = %26
  %39 = landingpad { ptr, i32 }
          cleanup
  br label %150

40:                                               ; preds = %33
  %41 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #7
  br label %149

42:                                               ; preds = %34, %28
  %43 = getelementptr inbounds i8, ptr %0, i64 680
  %44 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  %45 = icmp eq i64 %44, 0
  br i1 %45, label %46, label %51

46:                                               ; preds = %42
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #7
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Strides") align 8 %5, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %47 unwind label %49

47:                                               ; preds = %46
  %48 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  br label %51

49:                                               ; preds = %46
  %50 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  br label %149

51:                                               ; preds = %47, %42
  %52 = getelementptr inbounds i8, ptr %0, i64 704
  %53 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %52) #7
  %54 = icmp eq i64 %53, 0
  br i1 %54, label %55, label %60

55:                                               ; preds = %51
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #7
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Strides") align 8 %6, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %56 unwind label %58

56:                                               ; preds = %55
  %57 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  br label %60

58:                                               ; preds = %55
  %59 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  br label %149

60:                                               ; preds = %56, %51
  %61 = getelementptr inbounds i8, ptr %0, i64 728
  %62 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  %63 = icmp eq i64 %62, 0
  br i1 %63, label %64, label %69

64:                                               ; preds = %60
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #7
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::CoordinateDiff") align 8 %7, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %65 unwind label %67

65:                                               ; preds = %64
  %66 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  br label %69

67:                                               ; preds = %64
  %68 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  br label %149

69:                                               ; preds = %65, %60
  %70 = getelementptr inbounds i8, ptr %0, i64 752
  %71 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  %72 = icmp eq i64 %71, 0
  br i1 %72, label %73, label %78

73:                                               ; preds = %69
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #7
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::CoordinateDiff") align 8 %8, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %74 unwind label %76

74:                                               ; preds = %73
  %75 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  br label %78

76:                                               ; preds = %73
  %77 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  br label %149

78:                                               ; preds = %74, %69
  %79 = getelementptr inbounds i8, ptr %0, i64 800
  %80 = load i32, ptr %79, align 8, !tbaa !9
  %.off = add i32 %80, -1
  %switch = icmp ult i32 %.off, 2
  br i1 %switch, label %81, label %112

81:                                               ; preds = %78
  %82 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %83 unwind label %99

83:                                               ; preds = %81
  br i1 %82, label %84, label %112

84:                                               ; preds = %83
  %85 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %86 unwind label %99

86:                                               ; preds = %84
  br i1 %85, label %87, label %112

87:                                               ; preds = %86
  call void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  call void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #7
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %88 unwind label %101

88:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  %89 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  store ptr %89, ptr %11, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %11) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  %90 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  store ptr %90, ptr %14, align 8
  %91 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %14, i64 noundef 2) #7
  store ptr %91, ptr %13, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %13) #7
  %92 = load ptr, ptr %10, align 8
  %93 = load ptr, ptr %12, align 8
  %94 = invoke ptr @_ZNSt6vectorImSaImEE5eraseEN9__gnu_cxx17__normal_iteratorIPKmS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr %92, ptr %93)
          to label %95 unwind label %103

95:                                               ; preds = %88
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #7
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %96 unwind label %105

96:                                               ; preds = %95
  %97 = load i32, ptr %79, align 8, !tbaa !9
  invoke void @_ZN6ngraph18infer_auto_paddingERKNS_5ShapeES2_RKNS_7StridesES5_NS_2op7PadTypeERNS_14CoordinateDiffES9_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %52, i32 noundef %97, ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(24) %61)
          to label %98 unwind label %107

98:                                               ; preds = %96
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  br label %112

99:                                               ; preds = %84, %81
  %100 = landingpad { ptr, i32 }
          cleanup
  br label %149

101:                                              ; preds = %87
  %102 = landingpad { ptr, i32 }
          cleanup
  br label %111

103:                                              ; preds = %88
  %104 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br label %110

105:                                              ; preds = %95
  %106 = landingpad { ptr, i32 }
          cleanup
  br label %109

107:                                              ; preds = %96
  %108 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  br label %109

109:                                              ; preds = %107, %105
  %.pn = phi { ptr, i32 } [ %108, %107 ], [ %106, %105 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #7
  br label %110

110:                                              ; preds = %109, %103
  %.pn.pn = phi { ptr, i32 } [ %.pn, %109 ], [ %104, %103 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  br label %111

111:                                              ; preds = %110, %101
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %110 ], [ %102, %101 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  br label %149

112:                                              ; preds = %78, %83, %86, %98
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #7
  call void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %16)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  invoke void @_ZN6ngraph12PartialShapeC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %113 unwind label %127

113:                                              ; preds = %112
  %114 = invoke noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %115 unwind label %129

115:                                              ; preds = %113
  br i1 %114, label %141, label %116

116:                                              ; preds = %115
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %18) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %18)
          to label %117 unwind label %131

117:                                              ; preds = %116
  %118 = getelementptr inbounds i8, ptr %18, i64 16
  %119 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6ngraphL19write_all_to_streamIA81_cJRNS_7element4TypeERA25_KcS4_RA3_S5_EEERSoSA_RKT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(8) %118, ptr noundef nonnull align 1 dereferenceable(81) @.str.5, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 1 dereferenceable(25) @.str.6, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 1 dereferenceable(3) @.str.7)
          to label %120 unwind label %133

120:                                              ; preds = %117
  %121 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #7
  store ptr @.str.8, ptr %19, align 8, !tbaa !76
  %122 = getelementptr inbounds i8, ptr %19, i64 8
  store i32 787, ptr %122, align 8, !tbaa !78
  %123 = getelementptr inbounds i8, ptr %19, i64 16
  store ptr @.str.9, ptr %123, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(128) %18)
          to label %124 unwind label %.thread

124:                                              ; preds = %120
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %121, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %126 unwind label %.thread49

.thread49:                                        ; preds = %124
  %125 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #7
  br label %138

126:                                              ; preds = %124
  invoke void @__cxa_throw(ptr nonnull %121, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %152 unwind label %136

127:                                              ; preds = %112
  %128 = landingpad { ptr, i32 }
          cleanup
  br label %148

129:                                              ; preds = %142, %113
  %130 = landingpad { ptr, i32 }
          cleanup
  br label %147

131:                                              ; preds = %116
  %132 = landingpad { ptr, i32 }
          cleanup
  br label %140

133:                                              ; preds = %117
  %134 = landingpad { ptr, i32 }
          cleanup
  br label %139

.thread:                                          ; preds = %120
  %135 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #7
  br label %138

136:                                              ; preds = %126
  %137 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #7
  br label %139

138:                                              ; preds = %.thread49, %.thread
  %.pn3648 = phi { ptr, i32 } [ %135, %.thread ], [ %125, %.thread49 ]
  call void @__cxa_free_exception(ptr %121) #7
  br label %139

139:                                              ; preds = %136, %138, %133
  %.pn36.pn = phi { ptr, i32 } [ %.pn3648, %138 ], [ %137, %136 ], [ %134, %133 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %18) #7
  br label %140

140:                                              ; preds = %139, %131
  %.pn36.pn.pn = phi { ptr, i32 } [ %.pn36.pn, %139 ], [ %132, %131 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %18) #7
  br label %147

141:                                              ; preds = %115
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  invoke void @_ZN6ngraph25infer_convolution_forwardEPKNS_4NodeERKNS_12PartialShapeERKNS_7StridesERKNS_14CoordinateDiffESB_S5_S8_S8_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %21, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %52)
          to label %142 unwind label %145

142:                                              ; preds = %141
  %143 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %144 unwind label %129

144:                                              ; preds = %142
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #7
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #7
  ret void

145:                                              ; preds = %141
  %146 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  br label %147

147:                                              ; preds = %145, %140, %129
  %.pn40 = phi { ptr, i32 } [ %130, %129 ], [ %146, %145 ], [ %.pn36.pn.pn, %140 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %148

148:                                              ; preds = %147, %127
  %.pn40.pn = phi { ptr, i32 } [ %.pn40, %147 ], [ %128, %127 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #7
  br label %149

149:                                              ; preds = %148, %111, %99, %76, %67, %58, %49, %40
  %.pn40.pn.pn = phi { ptr, i32 } [ %.pn40.pn, %148 ], [ %.pn.pn.pn, %111 ], [ %100, %99 ], [ %77, %76 ], [ %68, %67 ], [ %59, %58 ], [ %50, %49 ], [ %41, %40 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #7
  br label %150

150:                                              ; preds = %149, %38
  %.pn40.pn.pn.pn = phi { ptr, i32 } [ %.pn40.pn.pn, %149 ], [ %39, %38 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  br label %151

151:                                              ; preds = %150, %36
  %.pn40.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn40.pn.pn.pn, %150 ], [ %37, %36 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %2) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #7
  resume { ptr, i32 } %.pn40.pn.pn.pn.pn

152:                                              ; preds = %126
  unreachable
}

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }
attributes #8 = { noreturn }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"_ZTSN6ngraph7element6Type_tE", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !75, i64 800}
!10 = !{!"_ZTSN6ngraph2op2v011ConvolutionE", !11, i64 0, !65, i64 680, !65, i64 704, !70, i64 728, !70, i64 752, !65, i64 776, !75, i64 800}
!11 = !{!"_ZTSN6ngraph2op2OpE", !12, i64 0}
!12 = !{!"_ZTSN6ngraph4NodeE", !13, i64 8, !18, i64 24, !18, i64 80, !24, i64 136, !28, i64 160, !32, i64 184, !20, i64 216, !32, i64 224, !32, i64 256, !34, i64 288, !36, i64 344, !44, i64 392, !49, i64 472, !54, i64 552, !56, i64 608, !57, i64 616, !60, i64 632}
!13 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !14, i64 0}
!14 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !15, i64 0}
!15 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !16, i64 0, !17, i64 8}
!16 = !{!"any pointer", !7, i64 0}
!17 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !16, i64 0}
!18 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !19, i64 0}
!19 = !{!"_ZTSSt10_HashtableIPN6ngraph10descriptor6TensorES3_SaIS3_ENSt8__detail9_IdentityESt8equal_toIS3_ESt4hashIS3_ENS5_18_Mod_range_hashingENS5_20_Default_ranged_hashENS5_20_Prime_rehash_policyENS5_17_Hashtable_traitsILb0ELb1ELb1EEEE", !16, i64 0, !20, i64 8, !21, i64 16, !20, i64 24, !22, i64 32, !16, i64 48}
!20 = !{!"long", !7, i64 0}
!21 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !16, i64 0}
!22 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !23, i64 0, !20, i64 8}
!23 = !{!"float", !7, i64 0}
!24 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !16, i64 0, !16, i64 8, !16, i64 16}
!28 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !16, i64 0, !16, i64 8, !16, i64 16}
!32 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !33, i64 0, !20, i64 8, !7, i64 16}
!33 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !16, i64 0}
!34 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !35, i64 0}
!35 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_ENSt8__detail9_IdentityESt8equal_toIS5_ESt4hashIS5_ENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb1ELb1ELb1EEEE", !16, i64 0, !20, i64 8, !21, i64 16, !20, i64 24, !22, i64 32, !16, i64 48}
!36 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !37, i64 0}
!37 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !39, i64 0, !41, i64 8}
!39 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !40, i64 0}
!40 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!41 = !{!"_ZTSSt15_Rb_tree_header", !42, i64 0, !20, i64 32}
!42 = !{!"_ZTSSt18_Rb_tree_node_base", !43, i64 0, !16, i64 8, !16, i64 16, !16, i64 24}
!43 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!44 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !45, i64 0}
!45 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !46, i64 0}
!46 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !47, i64 0}
!47 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !16, i64 0, !20, i64 8, !48, i64 16, !48, i64 48}
!48 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !16, i64 0, !16, i64 8, !16, i64 16, !16, i64 24}
!49 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !50, i64 0}
!50 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !51, i64 0}
!51 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !52, i64 0}
!52 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !16, i64 0, !20, i64 8, !53, i64 16, !53, i64 48}
!53 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !16, i64 0, !16, i64 8, !16, i64 16, !16, i64 24}
!54 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !55, i64 0}
!55 = !{!"_ZTSSt10_HashtableIPN6ngraph4NodeESt4pairIKS2_NS0_8autodiff8AdjointsEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !16, i64 0, !20, i64 8, !21, i64 16, !20, i64 24, !22, i64 32, !16, i64 48}
!56 = !{!"int", !7, i64 0}
!57 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !58, i64 0}
!58 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !16, i64 0, !59, i64 8}
!59 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !16, i64 0}
!60 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !61, i64 0}
!61 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !62, i64 0}
!62 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !63, i64 0, !41, i64 8}
!63 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !64, i64 0}
!64 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!65 = !{!"_ZTSN6ngraph7StridesE", !66, i64 0}
!66 = !{!"_ZTSSt6vectorImSaImEE", !67, i64 0}
!67 = !{!"_ZTSSt12_Vector_baseImSaImEE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !16, i64 0, !16, i64 8, !16, i64 16}
!70 = !{!"_ZTSN6ngraph14CoordinateDiffE", !71, i64 0}
!71 = !{!"_ZTSSt6vectorIlSaIlEE", !72, i64 0}
!72 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !16, i64 0, !16, i64 8, !16, i64 16}
!75 = !{!"_ZTSN6ngraph2op7PadTypeE", !7, i64 0}
!76 = !{!77, !16, i64 0}
!77 = !{!"_ZTSN6ngraph12CheckLocInfoE", !16, i64 0, !56, i64 8, !16, i64 16}
!78 = !{!77, !56, i64 8}
!79 = !{!77, !16, i64 16}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,SROAPass,SimplifyCFGPass,TailCallElimPass