; LLVM IR from NervanaSystems/ngraph :: src/ngraph/op/group_conv.ll (ZN6ngraph2op2v116GroupConvolution24validate_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::element::Type" = type { i32 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.130" }
%"class.std::vector.130" = type { %"struct.std::_Vector_base.131" }
%"struct.std::_Vector_base.131" = 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::Dimension" = type { %"class.ngraph::Interval" }
%"class.ngraph::Interval" = type { i64, i64 }
%"class.ngraph::Shape" = type { %"class.std::vector" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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.__gnu_cxx::__normal_iterator.135" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.ngraph::Strides" = type { %"class.std::vector" }
%"class.ngraph::CoordinateDiff" = type { %"class.std::vector.80" }
%"class.std::vector.80" = type { %"struct.std::_Vector_base.81" }
%"struct.std::_Vector_base.81" = 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.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::__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.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::v1::GroupConvolution" = type <{ %"class.ngraph::op::Op", %"class.ngraph::Strides", %"class.ngraph::Strides", %"class.ngraph::CoordinateDiff", %"class.ngraph::CoordinateDiff", 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.8", %"class.std::vector.13", %"class.std::__cxx11::basic_string", i64, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unordered_set.21", %"class.std::set", %"class.std::deque", %"class.std::deque.47", %"class.std::unordered_map", i32, %"class.std::shared_ptr.72", %"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.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = 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.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = 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.21" = type { %"class.std::_Hashtable.22" }
%"class.std::_Hashtable.22" = 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.47" = type { %"class.std::_Deque_base.48" }
%"class.std::_Deque_base.48" = 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.52", %"struct.std::_Deque_iterator.52" }
%"struct.std::_Deque_iterator.52" = type { ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.53" }
%"class.std::_Hashtable.53" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::shared_ptr.72" = type { %"class.std::__shared_ptr.73" }
%"class.std::__shared_ptr.73" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::map" = type { %"class.std::_Rb_tree.75" }
%"class.std::_Rb_tree.75" = 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 [84 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 @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1

; 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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v116GroupConvolution24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(780) %0) unnamed_addr #3 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::PartialShape", align 8
  %10 = alloca %"class.ngraph::Dimension", align 8
  %11 = alloca %"class.ngraph::Shape", align 8
  %12 = alloca i64, align 8
  %13 = alloca %"class.__gnu_cxx::__normal_iterator.135", align 8
  %14 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %15 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %16 = alloca %"class.ngraph::Shape", align 8
  %17 = alloca %"class.ngraph::Strides", align 8
  %18 = alloca %"class.ngraph::PartialShape", align 8
  %19 = alloca %"class.ngraph::PartialShape", align 8
  %20 = alloca %"class.ngraph::Strides", align 8
  %21 = alloca %"class.ngraph::PartialShape", align 8
  %22 = alloca %"class.ngraph::PartialShape", align 8
  %23 = alloca %"class.ngraph::CoordinateDiff", align 8
  %24 = alloca %"class.ngraph::PartialShape", align 8
  %25 = alloca %"class.ngraph::PartialShape", align 8
  %26 = alloca %"class.ngraph::CoordinateDiff", align 8
  %27 = alloca %"class.ngraph::PartialShape", align 8
  %28 = alloca %"class.ngraph::PartialShape", align 8
  %29 = alloca %"class.ngraph::Shape", align 8
  %30 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %31 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %32 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %33 = alloca %"class.ngraph::PartialShape", align 8
  %34 = alloca %"class.ngraph::PartialShape", align 8
  %35 = alloca %"class.ngraph::Strides", align 8
  %36 = alloca %"class.ngraph::PartialShape", align 8
  %37 = alloca %"class.ngraph::element::Type", align 4
  %38 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %39 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca i1, align 1
  store ptr %0, ptr %2, align 8, !tbaa !5
  %42 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #8
  %43 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %42, i64 noundef 0)
  store ptr %43, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #8
  %44 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %42, i64 noundef 0)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %4, ptr align 4 %44, i64 4, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #8
  %45 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6ngraph4Node23get_input_partial_shapeEm(ptr noundef nonnull align 8 dereferenceable(680) %42, i64 noundef 1)
          to label %46 unwind label %99

46:                                               ; preds = %1
  store ptr %45, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #8
  %47 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %42, i64 noundef 1)
          to label %48 unwind label %103

48:                                               ; preds = %46
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %8, ptr align 4 %47, i64 4, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #8
  %49 = invoke { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
          to label %50 unwind label %107

50:                                               ; preds = %48
  %51 = getelementptr inbounds %"class.ngraph::Dimension", ptr %10, i32 0, i32 0
  %52 = getelementptr inbounds { i64, i64 }, ptr %51, i32 0, i32 0
  %53 = extractvalue { i64, i64 } %49, 0
  store i64 %53, ptr %52, align 8
  %54 = getelementptr inbounds { i64, i64 }, ptr %51, i32 0, i32 1
  %55 = extractvalue { i64, i64 } %49, 1
  store i64 %55, ptr %54, align 8
  %56 = getelementptr inbounds { i64, i64 }, ptr %10, i32 0, i32 0
  %57 = load i64, ptr %56, align 8
  %58 = getelementptr inbounds { i64, i64 }, ptr %10, i32 0, i32 1
  %59 = load i64, ptr %58, align 8
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8 %9, i64 %57, i64 %59)
          to label %60 unwind label %107

60:                                               ; preds = %50
  %61 = load ptr, ptr %5, align 8, !tbaa !5
  %62 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %63 unwind label %111

63:                                               ; preds = %60
  br i1 %62, label %64, label %294

64:                                               ; preds = %63
  %65 = load ptr, ptr %3, align 8, !tbaa !5
  %66 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %67 unwind label %111

67:                                               ; preds = %64
  br i1 %66, label %68, label %294

68:                                               ; preds = %67
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #8
  %69 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %70 unwind label %115

70:                                               ; preds = %68
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #8
  %71 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 0) #8
  %72 = load i64, ptr %71, align 8, !tbaa !12
  store i64 %72, ptr %12, align 8, !tbaa !12
  %73 = load i64, ptr %12, align 8, !tbaa !12
  %74 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef 1) #8
  %75 = load i64, ptr %74, align 8, !tbaa !12
  %76 = mul i64 %75, %73
  store i64 %76, ptr %74, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #8
  %77 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  %78 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %14, i32 0, i32 0
  store ptr %77, ptr %78, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %14) #8
  %79 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.135", ptr %13, i32 0, i32 0
  %80 = load ptr, ptr %79, align 8
  %81 = invoke ptr @_ZNSt6vectorImSaImEE5eraseEN9__gnu_cxx17__normal_iteratorIPKmS1_EE(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr %80)
          to label %82 unwind label %119

82:                                               ; preds = %70
  %83 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %15, i32 0, i32 0
  store ptr %81, ptr %83, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %16) #8
  %84 = load ptr, ptr %3, align 8, !tbaa !5
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind writable sret(%"class.ngraph::Shape") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %84)
          to label %85 unwind label %123

85:                                               ; preds = %82
  %86 = load i64, ptr %12, align 8, !tbaa !12
  %87 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 1) #8
  %88 = load i64, ptr %87, align 8, !tbaa !12
  %89 = udiv i64 %88, %86
  store i64 %89, ptr %87, align 8, !tbaa !12
  %90 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 1
  %91 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %90) #8
  %92 = icmp eq i64 %91, 0
  br i1 %92, label %93, label %141

93:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %94 unwind label %127

94:                                               ; preds = %93
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %95 unwind label %131

95:                                               ; preds = %94
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::Strides") align 8 %17, ptr noundef %42, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %96 unwind label %135

96:                                               ; preds = %95
  %97 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 1
  %98 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %97, ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  br label %141

99:                                               ; preds = %1
  %100 = landingpad { ptr, i32 }
          cleanup
  %101 = extractvalue { ptr, i32 } %100, 0
  store ptr %101, ptr %6, align 8
  %102 = extractvalue { ptr, i32 } %100, 1
  store i32 %102, ptr %7, align 4
  br label %349

103:                                              ; preds = %46
  %104 = landingpad { ptr, i32 }
          cleanup
  %105 = extractvalue { ptr, i32 } %104, 0
  store ptr %105, ptr %6, align 8
  %106 = extractvalue { ptr, i32 } %104, 1
  store i32 %106, ptr %7, align 4
  br label %348

107:                                              ; preds = %50, %48
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %6, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %7, align 4
  br label %347

111:                                              ; preds = %64, %60
  %112 = landingpad { ptr, i32 }
          cleanup
  %113 = extractvalue { ptr, i32 } %112, 0
  store ptr %113, ptr %6, align 8
  %114 = extractvalue { ptr, i32 } %112, 1
  store i32 %114, ptr %7, align 4
  br label %346

115:                                              ; preds = %68
  %116 = landingpad { ptr, i32 }
          cleanup
  %117 = extractvalue { ptr, i32 } %116, 0
  store ptr %117, ptr %6, align 8
  %118 = extractvalue { ptr, i32 } %116, 1
  store i32 %118, ptr %7, align 4
  br label %293

119:                                              ; preds = %70
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %6, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  br label %292

123:                                              ; preds = %82
  %124 = landingpad { ptr, i32 }
          cleanup
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %6, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %7, align 4
  br label %291

127:                                              ; preds = %93
  %128 = landingpad { ptr, i32 }
          cleanup
  %129 = extractvalue { ptr, i32 } %128, 0
  store ptr %129, ptr %6, align 8
  %130 = extractvalue { ptr, i32 } %128, 1
  store i32 %130, ptr %7, align 4
  br label %140

131:                                              ; preds = %94
  %132 = landingpad { ptr, i32 }
          cleanup
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %6, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %7, align 4
  br label %139

135:                                              ; preds = %95
  %136 = landingpad { ptr, i32 }
          cleanup
  %137 = extractvalue { ptr, i32 } %136, 0
  store ptr %137, ptr %6, align 8
  %138 = extractvalue { ptr, i32 } %136, 1
  store i32 %138, ptr %7, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  br label %139

139:                                              ; preds = %135, %131
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  br label %140

140:                                              ; preds = %139, %127
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  br label %290

141:                                              ; preds = %96, %85
  %142 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 2
  %143 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %142) #8
  %144 = icmp eq i64 %143, 0
  br i1 %144, label %145, label %165

145:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %146 unwind label %151

146:                                              ; preds = %145
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %147 unwind label %155

147:                                              ; preds = %146
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::Strides") align 8 %20, ptr noundef %42, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %148 unwind label %159

148:                                              ; preds = %147
  %149 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 2
  %150 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %149, ptr noundef nonnull align 8 dereferenceable(24) %20) #8
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #8
  br label %165

151:                                              ; preds = %145
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %6, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %7, align 4
  br label %164

155:                                              ; preds = %146
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %6, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %7, align 4
  br label %163

159:                                              ; preds = %147
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %6, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %7, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  br label %163

163:                                              ; preds = %159, %155
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #8
  br label %164

164:                                              ; preds = %163, %151
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #8
  br label %290

165:                                              ; preds = %148, %141
  %166 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 3
  %167 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %166) #8
  %168 = icmp eq i64 %167, 0
  br i1 %168, label %173, label %169

169:                                              ; preds = %165
  %170 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 5
  %171 = load i32, ptr %170, align 8, !tbaa !14
  %172 = icmp eq i32 %171, 3
  br i1 %172, label %173, label %193

173:                                              ; preds = %169, %165
  call void @llvm.lifetime.start.p0(i64 24, ptr %23) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %174 unwind label %179

174:                                              ; preds = %173
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %175 unwind label %183

175:                                              ; preds = %174
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8 %23, ptr noundef %42, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %176 unwind label %187

176:                                              ; preds = %175
  %177 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 3
  %178 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %177, ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  br label %193

179:                                              ; preds = %173
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %6, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %7, align 4
  br label %192

183:                                              ; preds = %174
  %184 = landingpad { ptr, i32 }
          cleanup
  %185 = extractvalue { ptr, i32 } %184, 0
  store ptr %185, ptr %6, align 8
  %186 = extractvalue { ptr, i32 } %184, 1
  store i32 %186, ptr %7, align 4
  br label %191

187:                                              ; preds = %175
  %188 = landingpad { ptr, i32 }
          cleanup
  %189 = extractvalue { ptr, i32 } %188, 0
  store ptr %189, ptr %6, align 8
  %190 = extractvalue { ptr, i32 } %188, 1
  store i32 %190, ptr %7, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %191

191:                                              ; preds = %187, %183
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  br label %192

192:                                              ; preds = %191, %179
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  br label %290

193:                                              ; preds = %176, %169
  %194 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 4
  %195 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %194) #8
  %196 = icmp eq i64 %195, 0
  br i1 %196, label %201, label %197

197:                                              ; preds = %193
  %198 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 5
  %199 = load i32, ptr %198, align 8, !tbaa !14
  %200 = icmp eq i32 %199, 3
  br i1 %200, label %201, label %221

201:                                              ; preds = %197, %193
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %202 unwind label %207

202:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %203 unwind label %211

203:                                              ; preds = %202
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind writable sret(%"class.ngraph::CoordinateDiff") align 8 %26, ptr noundef %42, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %204 unwind label %215

204:                                              ; preds = %203
  %205 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 4
  %206 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %205, ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  br label %221

207:                                              ; preds = %201
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %6, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %7, align 4
  br label %220

211:                                              ; preds = %202
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %6, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %7, align 4
  br label %219

215:                                              ; preds = %203
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %6, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %7, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  br label %219

219:                                              ; preds = %215, %211
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #8
  br label %220

220:                                              ; preds = %219, %207
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  br label %290

221:                                              ; preds = %204, %197
  %222 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 5
  %223 = load i32, ptr %222, align 8, !tbaa !14
  %224 = icmp eq i32 %223, 2
  br i1 %224, label %229, label %225

225:                                              ; preds = %221
  %226 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 5
  %227 = load i32, ptr %226, align 8, !tbaa !14
  %228 = icmp eq i32 %227, 1
  br i1 %228, label %229, label %259

229:                                              ; preds = %225, %221
  %230 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 3
  call void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %230) #8
  %231 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 4
  call void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %231) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  %232 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  %233 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %31, i32 0, i32 0
  store ptr %232, ptr %233, align 8
  %234 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %31, i64 noundef 2) #8
  %235 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %30, i32 0, i32 0
  store ptr %234, ptr %235, align 8
  %236 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  %237 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %32, i32 0, i32 0
  store ptr %236, ptr %237, align 8
  %238 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %30, i32 0, i32 0
  %239 = load ptr, ptr %238, align 8
  %240 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %32, i32 0, i32 0
  %241 = load ptr, ptr %240, align 8
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEEET_S9_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr %239, ptr %241)
          to label %242 unwind label %250

242:                                              ; preds = %229
  %243 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 1
  %244 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 2
  %245 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 5
  %246 = load i32, ptr %245, align 8, !tbaa !14
  %247 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 4
  %248 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 3
  invoke void @_ZN6ngraph18infer_auto_paddingERKNS_5ShapeES2_RKNS_7StridesES5_NS_2op7PadTypeERNS_14CoordinateDiffES9_(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %243, ptr noundef nonnull align 8 dereferenceable(24) %244, i32 noundef %246, ptr noundef nonnull align 8 dereferenceable(24) %247, ptr noundef nonnull align 8 dereferenceable(24) %248)
          to label %249 unwind label %254

249:                                              ; preds = %242
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  br label %259

250:                                              ; preds = %229
  %251 = landingpad { ptr, i32 }
          cleanup
  %252 = extractvalue { ptr, i32 } %251, 0
  store ptr %252, ptr %6, align 8
  %253 = extractvalue { ptr, i32 } %251, 1
  store i32 %253, ptr %7, align 4
  br label %258

254:                                              ; preds = %242
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %6, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %7, align 4
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  br label %258

258:                                              ; preds = %254, %250
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  br label %290

259:                                              ; preds = %249, %225
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(24) %16)
          to label %260 unwind label %271

260:                                              ; preds = %259
  call void @llvm.lifetime.start.p0(i64 24, ptr %35) #8
  %261 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 1
  %262 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %261) #8
  invoke void @_ZN6ngraph7StridesC1Emm(ptr noundef nonnull align 8 dereferenceable(24) %35, i64 noundef %262, i64 noundef 1)
          to label %263 unwind label %275

263:                                              ; preds = %260
  %264 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 3
  %265 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #8
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %266 unwind label %279

266:                                              ; preds = %263
  %267 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, i32 0, i32 1
  %268 = getelementptr inbounds %"class.ngraph::op::v1::GroupConvolution", ptr %42, 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 %33, ptr noundef %42, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %264, ptr noundef nonnull align 8 dereferenceable(24) %265, ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(24) %267, ptr noundef nonnull align 8 dereferenceable(24) %268)
          to label %269 unwind label %283

269:                                              ; preds = %266
  %270 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #8
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #8
  br label %294

271:                                              ; preds = %259
  %272 = landingpad { ptr, i32 }
          cleanup
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %6, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %7, align 4
  br label %289

275:                                              ; preds = %260
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %6, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %7, align 4
  br label %288

279:                                              ; preds = %263
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %6, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %7, align 4
  br label %287

283:                                              ; preds = %266
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %6, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %7, align 4
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  br label %287

287:                                              ; preds = %283, %279
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #8
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #8
  br label %288

288:                                              ; preds = %287, %275
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  br label %289

289:                                              ; preds = %288, %271
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  br label %290

290:                                              ; preds = %289, %258, %220, %192, %164, %140
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  br label %291

291:                                              ; preds = %290, %123
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #8
  br label %292

292:                                              ; preds = %291, %119
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  br label %293

293:                                              ; preds = %292, %115
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #8
  br label %346

294:                                              ; preds = %269, %67, %63
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #8
  invoke void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %37)
          to label %295 unwind label %310

295:                                              ; preds = %294
  br label %296

296:                                              ; preds = %295
  %297 = invoke noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4) %37, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %298 unwind label %314

298:                                              ; preds = %296
  br i1 %297, label %340, label %299

299:                                              ; preds = %298
  call void @llvm.lifetime.start.p0(i64 392, ptr %38) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %38)
          to label %300 unwind label %318

300:                                              ; preds = %299
  %301 = getelementptr inbounds i8, ptr %38, i64 16
  %302 = 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) %301, 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 %303 unwind label %322

303:                                              ; preds = %300
  store i1 true, ptr %41, align 1
  %304 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %39) #8
  %305 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %39, i32 0, i32 0
  store ptr @.str.8, ptr %305, align 8, !tbaa !79
  %306 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %39, i32 0, i32 1
  store i32 142, ptr %306, align 8, !tbaa !81
  %307 = getelementptr inbounds %"struct.ngraph::CheckLocInfo", ptr %39, i32 0, i32 2
  store ptr @.str.9, ptr %307, align 8, !tbaa !82
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #8
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(128) %38)
          to label %308 unwind label %326

308:                                              ; preds = %303
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %304, ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef %42, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %309 unwind label %330

309:                                              ; preds = %308
  store i1 false, ptr %41, align 1
  invoke void @__cxa_throw(ptr %304, ptr @_ZTIN6ngraph21NodeValidationFailureE, ptr @_ZNSt13runtime_errorD2Ev) #9
          to label %355 unwind label %330

310:                                              ; preds = %294
  %311 = landingpad { ptr, i32 }
          cleanup
  %312 = extractvalue { ptr, i32 } %311, 0
  store ptr %312, ptr %6, align 8
  %313 = extractvalue { ptr, i32 } %311, 1
  store i32 %313, ptr %7, align 4
  br label %345

314:                                              ; preds = %342, %296
  %315 = landingpad { ptr, i32 }
          cleanup
  %316 = extractvalue { ptr, i32 } %315, 0
  store ptr %316, ptr %6, align 8
  %317 = extractvalue { ptr, i32 } %315, 1
  store i32 %317, ptr %7, align 4
  br label %344

318:                                              ; preds = %299
  %319 = landingpad { ptr, i32 }
          cleanup
  %320 = extractvalue { ptr, i32 } %319, 0
  store ptr %320, ptr %6, align 8
  %321 = extractvalue { ptr, i32 } %319, 1
  store i32 %321, ptr %7, align 4
  br label %339

322:                                              ; preds = %300
  %323 = landingpad { ptr, i32 }
          cleanup
  %324 = extractvalue { ptr, i32 } %323, 0
  store ptr %324, ptr %6, align 8
  %325 = extractvalue { ptr, i32 } %323, 1
  store i32 %325, ptr %7, align 4
  br label %338

326:                                              ; preds = %303
  %327 = landingpad { ptr, i32 }
          cleanup
  %328 = extractvalue { ptr, i32 } %327, 0
  store ptr %328, ptr %6, align 8
  %329 = extractvalue { ptr, i32 } %327, 1
  store i32 %329, ptr %7, align 4
  br label %334

330:                                              ; preds = %309, %308
  %331 = landingpad { ptr, i32 }
          cleanup
  %332 = extractvalue { ptr, i32 } %331, 0
  store ptr %332, ptr %6, align 8
  %333 = extractvalue { ptr, i32 } %331, 1
  store i32 %333, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  br label %334

334:                                              ; preds = %330, %326
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #8
  %335 = load i1, ptr %41, align 1
  br i1 %335, label %336, label %337

336:                                              ; preds = %334
  call void @__cxa_free_exception(ptr %304) #8
  br label %337

337:                                              ; preds = %336, %334
  br label %338

338:                                              ; preds = %337, %322
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %38) #8
  br label %339

339:                                              ; preds = %338, %318
  call void @llvm.lifetime.end.p0(i64 392, ptr %38) #8
  br label %344

340:                                              ; preds = %298
  br label %341

341:                                              ; preds = %340
  br label %342

342:                                              ; preds = %341
  invoke void @_ZN6ngraph4Node15set_output_typeEmRKNS_7element4TypeERKNS_12PartialShapeE(ptr noundef nonnull align 8 dereferenceable(680) %42, i64 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %37, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %343 unwind label %314

343:                                              ; preds = %342
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %37) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #8
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #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

344:                                              ; preds = %339, %314
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %37) #8
  br label %345

345:                                              ; preds = %344, %310
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #8
  br label %346

346:                                              ; preds = %345, %293, %111
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #8
  br label %347

347:                                              ; preds = %346, %107
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #8
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %8) #8
  br label %348

348:                                              ; preds = %347, %103
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  br label %349

349:                                              ; preds = %348, %99
  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 %350

350:                                              ; preds = %349
  %351 = load ptr, ptr %6, align 8
  %352 = load i32, ptr %7, align 4
  %353 = insertvalue { ptr, i32 } poison, ptr %351, 0
  %354 = insertvalue { ptr, i32 } %353, i32 %352, 1
  resume { ptr, i32 } %354

355:                                              ; preds = %309
  unreachable
}

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

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

; 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) #5

declare void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8, i64, i64) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv() #2 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt6vectorImSaImEE5eraseEN9__gnu_cxx17__normal_iteratorIPKmS1_EE(ptr noundef nonnull align 8 dereferenceable(24), ptr) #3 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 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)) #4

declare void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4

; 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: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #6 align 2

; 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)) #4

; 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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) #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)) #4

; 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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEEET_S9_(ptr noundef nonnull align 8 dereferenceable(24), ptr, ptr) unnamed_addr #3 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)) #4

declare void @_ZN6ngraph7StridesC1Emm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, i64 noundef) unnamed_addr #4

; 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)) #6 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #2 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)) #4

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #3 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)) #7

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)) #3 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 #3 align 2

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 @_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)) #4

; 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: nounwind
declare void @_ZNSt13runtime_errorD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1

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 = { 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 #4 = { "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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
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 = { 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 #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, !13, i64 0}
!13 = !{!"long", !7, i64 0}
!14 = !{!15, !78, i64 776}
!15 = !{!"_ZTSN6ngraph2op2v116GroupConvolutionE", !16, i64 0, !68, i64 680, !68, i64 704, !73, i64 728, !73, i64 752, !78, i64 776}
!16 = !{!"_ZTSN6ngraph2op2OpE", !17, i64 0}
!17 = !{!"_ZTSN6ngraph4NodeE", !18, i64 8, !22, i64 24, !22, i64 80, !27, i64 136, !31, i64 160, !35, i64 184, !13, i64 216, !35, i64 224, !35, i64 256, !37, i64 288, !39, i64 344, !47, i64 392, !52, i64 472, !57, i64 552, !59, i64 608, !60, i64 616, !63, i64 632}
!18 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !19, i64 0}
!19 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !20, i64 0}
!20 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !21, i64 8}
!21 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!22 = !{!"_ZTSSt13unordered_setIPN6ngraph10descriptor6TensorESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE", !23, i64 0}
!23 = !{!"_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, !13, i64 8, !24, i64 16, !13, i64 24, !25, i64 32, !6, i64 48}
!24 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!25 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !26, i64 0, !13, i64 8}
!26 = !{!"float", !7, i64 0}
!27 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!31 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!35 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !36, i64 0, !13, i64 8, !7, i64 16}
!36 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!37 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !38, i64 0}
!38 = !{!"_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, !13, i64 8, !24, i64 16, !13, i64 24, !25, i64 32, !6, i64 48}
!39 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !40, i64 0}
!40 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !41, i64 0}
!41 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !42, i64 0, !44, i64 8}
!42 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !43, i64 0}
!43 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!44 = !{!"_ZTSSt15_Rb_tree_header", !45, i64 0, !13, i64 32}
!45 = !{!"_ZTSSt18_Rb_tree_node_base", !46, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!46 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!47 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !48, i64 0}
!48 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !49, i64 0}
!49 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !50, i64 0}
!50 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !13, i64 8, !51, i64 16, !51, i64 48}
!51 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!52 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !53, i64 0}
!53 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !54, i64 0}
!54 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !55, i64 0}
!55 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !6, i64 0, !13, i64 8, !56, i64 16, !56, i64 48}
!56 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!57 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !58, i64 0}
!58 = !{!"_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, !13, i64 8, !24, i64 16, !13, i64 24, !25, i64 32, !6, i64 48}
!59 = !{!"int", !7, i64 0}
!60 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !61, i64 0}
!61 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !62, i64 8}
!62 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!63 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !64, i64 0}
!64 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !65, i64 0}
!65 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !66, i64 0, !44, i64 8}
!66 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !67, i64 0}
!67 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!68 = !{!"_ZTSN6ngraph7StridesE", !69, i64 0}
!69 = !{!"_ZTSSt6vectorImSaImEE", !70, i64 0}
!70 = !{!"_ZTSSt12_Vector_baseImSaImEE", !71, i64 0}
!71 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!73 = !{!"_ZTSN6ngraph14CoordinateDiffE", !74, i64 0}
!74 = !{!"_ZTSSt6vectorIlSaIlEE", !75, i64 0}
!75 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !76, i64 0}
!76 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !77, i64 0}
!77 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!78 = !{!"_ZTSN6ngraph2op7PadTypeE", !7, i64 0}
!79 = !{!80, !6, i64 0}
!80 = !{!"_ZTSN6ngraph12CheckLocInfoE", !6, i64 0, !59, i64 8, !6, i64 16}
!81 = !{!80, !59, i64 8}
!82 = !{!80, !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::element::Type" = type { i32 }
%"class.ngraph::PartialShape" = type { i8, %"class.std::vector.130" }
%"class.std::vector.130" = type { %"struct.std::_Vector_base.131" }
%"struct.std::_Vector_base.131" = 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::Shape" = type { %"class.std::vector" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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.__gnu_cxx::__normal_iterator.135" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.ngraph::Strides" = type { %"class.std::vector" }
%"class.ngraph::CoordinateDiff" = type { %"class.std::vector.80" }
%"class.std::vector.80" = type { %"struct.std::_Vector_base.81" }
%"struct.std::_Vector_base.81" = 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.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::__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.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 [84 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 @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1

; 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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6ngraph2op2v116GroupConvolution24validate_and_infer_typesEv(ptr noundef nonnull align 8 dereferenceable(780) %0) unnamed_addr #3 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::PartialShape", align 8
  %5 = alloca %"class.ngraph::Shape", align 8
  %6 = alloca %"class.__gnu_cxx::__normal_iterator.135", align 8
  %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %8 = alloca %"class.ngraph::Shape", align 8
  %9 = alloca %"class.ngraph::Strides", align 8
  %10 = alloca %"class.ngraph::PartialShape", align 8
  %11 = alloca %"class.ngraph::PartialShape", align 8
  %12 = alloca %"class.ngraph::Strides", align 8
  %13 = alloca %"class.ngraph::PartialShape", align 8
  %14 = alloca %"class.ngraph::PartialShape", align 8
  %15 = alloca %"class.ngraph::CoordinateDiff", align 8
  %16 = alloca %"class.ngraph::PartialShape", align 8
  %17 = alloca %"class.ngraph::PartialShape", align 8
  %18 = alloca %"class.ngraph::CoordinateDiff", align 8
  %19 = alloca %"class.ngraph::PartialShape", align 8
  %20 = alloca %"class.ngraph::PartialShape", align 8
  %21 = alloca %"class.ngraph::Shape", align 8
  %22 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %23 = alloca %"class.ngraph::PartialShape", align 8
  %24 = alloca %"class.ngraph::PartialShape", align 8
  %25 = alloca %"class.ngraph::Strides", align 8
  %26 = alloca %"class.ngraph::PartialShape", align 8
  %27 = alloca %"class.ngraph::element::Type", align 4
  %28 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %29 = alloca %"struct.ngraph::CheckLocInfo", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = 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
  %32 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK6ngraph4Node22get_input_element_typeEm(ptr noundef nonnull align 8 dereferenceable(680) %0, i64 noundef 0)
  %33 = load i32, ptr %32, align 4, !tbaa !5
  store i32 %33, ptr %2, align 4, !tbaa !5
  %34 = 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 %35 unwind label %71

35:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #7
  %36 = 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 %37 unwind label %73

37:                                               ; preds = %35
  %38 = load i32, ptr %36, align 4, !tbaa !5
  store i32 %38, ptr %3, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #7
  %39 = tail call { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv()
  %40 = extractvalue { i64, i64 } %39, 0
  %41 = extractvalue { i64, i64 } %39, 1
  invoke void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %4, i64 %40, i64 %41)
          to label %42 unwind label %75

42:                                               ; preds = %37
  %43 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %44 unwind label %77

44:                                               ; preds = %42
  br i1 %43, label %45, label %185

45:                                               ; preds = %44
  %46 = invoke noundef zeroext i1 @_ZNK6ngraph12PartialShape9is_staticEv(ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %47 unwind label %77

47:                                               ; preds = %45
  br i1 %46, label %48, label %185

48:                                               ; preds = %47
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #7
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %5, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %49 unwind label %79

49:                                               ; preds = %48
  %50 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0) #7
  %51 = load i64, ptr %50, align 8, !tbaa !9
  %52 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1) #7
  %53 = load i64, ptr %52, align 8, !tbaa !9
  %54 = mul i64 %53, %51
  store i64 %54, ptr %52, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #7
  %55 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  store ptr %55, ptr %7, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEC2IPmvEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #7
  %56 = load ptr, ptr %6, align 8
  %57 = invoke ptr @_ZNSt6vectorImSaImEE5eraseEN9__gnu_cxx17__normal_iteratorIPKmS1_EE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %56)
          to label %58 unwind label %81

58:                                               ; preds = %49
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #7
  invoke void @_ZNK6ngraph12PartialShape8to_shapeEv(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Shape") align 8 %8, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %59 unwind label %83

59:                                               ; preds = %58
  %60 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorImSaImEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 1) #7
  %61 = load i64, ptr %60, align 8, !tbaa !9
  %62 = udiv i64 %61, %51
  store i64 %62, ptr %60, align 8, !tbaa !9
  %63 = getelementptr inbounds i8, ptr %0, i64 680
  %64 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  %65 = icmp eq i64 %64, 0
  br i1 %65, label %66, label %93

66:                                               ; preds = %59
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %67 unwind label %85

67:                                               ; preds = %66
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %68 unwind label %87

68:                                               ; preds = %67
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Strides") align 8 %9, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %69 unwind label %89

69:                                               ; preds = %68
  %70 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  br label %93

71:                                               ; preds = %1
  %72 = landingpad { ptr, i32 }
          cleanup
  br label %217

73:                                               ; preds = %35
  %74 = landingpad { ptr, i32 }
          cleanup
  br label %216

75:                                               ; preds = %37
  %76 = landingpad { ptr, i32 }
          cleanup
  br label %215

77:                                               ; preds = %45, %42
  %78 = landingpad { ptr, i32 }
          cleanup
  br label %214

79:                                               ; preds = %48
  %80 = landingpad { ptr, i32 }
          cleanup
  br label %184

81:                                               ; preds = %49
  %82 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  br label %183

83:                                               ; preds = %58
  %84 = landingpad { ptr, i32 }
          cleanup
  br label %182

85:                                               ; preds = %66
  %86 = landingpad { ptr, i32 }
          cleanup
  br label %92

87:                                               ; preds = %67
  %88 = landingpad { ptr, i32 }
          cleanup
  br label %91

89:                                               ; preds = %68
  %90 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %91

91:                                               ; preds = %89, %87
  %.pn = phi { ptr, i32 } [ %90, %89 ], [ %88, %87 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %92

92:                                               ; preds = %91, %85
  %.pn.pn = phi { ptr, i32 } [ %.pn, %91 ], [ %86, %85 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  br label %181

93:                                               ; preds = %69, %59
  %94 = getelementptr inbounds i8, ptr %0, i64 704
  %95 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %94) #7
  %96 = icmp eq i64 %95, 0
  br i1 %96, label %97, label %110

97:                                               ; preds = %93
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %98 unwind label %102

98:                                               ; preds = %97
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %99 unwind label %104

99:                                               ; preds = %98
  invoke void @_ZN6ngraph20conv_default_stridesEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::Strides") align 8 %12, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %100 unwind label %106

100:                                              ; preds = %99
  %101 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph7StridesaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %94, ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #7
  br label %110

102:                                              ; preds = %97
  %103 = landingpad { ptr, i32 }
          cleanup
  br label %109

104:                                              ; preds = %98
  %105 = landingpad { ptr, i32 }
          cleanup
  br label %108

106:                                              ; preds = %99
  %107 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %108

108:                                              ; preds = %106, %104
  %.pn41 = phi { ptr, i32 } [ %107, %106 ], [ %105, %104 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %109

109:                                              ; preds = %108, %102
  %.pn41.pn = phi { ptr, i32 } [ %.pn41, %108 ], [ %103, %102 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #7
  br label %181

110:                                              ; preds = %100, %93
  %111 = getelementptr inbounds i8, ptr %0, i64 728
  %112 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %111) #7
  %113 = icmp eq i64 %112, 0
  %114 = getelementptr inbounds i8, ptr %0, i64 776
  %115 = load i32, ptr %114, align 8
  %116 = icmp eq i32 %115, 3
  %or.cond = select i1 %113, i1 true, i1 %116
  br i1 %or.cond, label %117, label %130

117:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %118 unwind label %122

118:                                              ; preds = %117
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %119 unwind label %124

119:                                              ; preds = %118
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::CoordinateDiff") align 8 %15, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %120 unwind label %126

120:                                              ; preds = %119
  %121 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %111, ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  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 @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #7
  br label %130

122:                                              ; preds = %117
  %123 = landingpad { ptr, i32 }
          cleanup
  br label %129

124:                                              ; preds = %118
  %125 = landingpad { ptr, i32 }
          cleanup
  br label %128

126:                                              ; preds = %119
  %127 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %128

128:                                              ; preds = %126, %124
  %.pn44 = phi { ptr, i32 } [ %127, %126 ], [ %125, %124 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %129

129:                                              ; preds = %128, %122
  %.pn44.pn = phi { ptr, i32 } [ %.pn44, %128 ], [ %123, %122 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #7
  br label %181

130:                                              ; preds = %110, %120
  %131 = getelementptr inbounds i8, ptr %0, i64 752
  %132 = call noundef i64 @_ZNKSt6vectorIlSaIlEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %131) #7
  %133 = icmp eq i64 %132, 0
  %134 = load i32, ptr %114, align 8
  %135 = icmp eq i32 %134, 3
  %or.cond74 = select i1 %133, i1 true, i1 %135
  br i1 %or.cond74, label %136, label %149

136:                                              ; preds = %130
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %137 unwind label %141

137:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %138 unwind label %143

138:                                              ; preds = %137
  invoke void @_ZN6ngraph20conv_default_paddingEPKNS_4NodeERKNS_12PartialShapeES5_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::CoordinateDiff") align 8 %18, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %139 unwind label %145

139:                                              ; preds = %138
  %140 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN6ngraph14CoordinateDiffaSEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %131, ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  call void @_ZN6ngraph14CoordinateDiffD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #7
  %.pre = load i32, ptr %114, align 8, !tbaa !11
  br label %149

141:                                              ; preds = %136
  %142 = landingpad { ptr, i32 }
          cleanup
  br label %148

143:                                              ; preds = %137
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %147

145:                                              ; preds = %138
  %146 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %147

147:                                              ; preds = %145, %143
  %.pn47 = phi { ptr, i32 } [ %146, %145 ], [ %144, %143 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %148

148:                                              ; preds = %147, %141
  %.pn47.pn = phi { ptr, i32 } [ %.pn47, %147 ], [ %142, %141 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #7
  br label %181

149:                                              ; preds = %130, %139
  %150 = phi i32 [ %134, %130 ], [ %.pre, %139 ]
  %.off = add i32 %150, -1
  %switch = icmp ult i32 %.off, 2
  br i1 %switch, label %151, label %163

151:                                              ; preds = %149
  call void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %111) #7
  call void @_ZNSt6vectorIlSaIlEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %131) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #7
  %152 = call ptr @_ZNSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  store ptr %152, ptr %22, align 8
  %153 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %22, i64 noundef 2) #7
  %154 = call ptr @_ZNSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  invoke void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEEET_S9_(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr %153, ptr %154)
          to label %155 unwind label %158

155:                                              ; preds = %151
  %156 = load i32, ptr %114, align 8, !tbaa !11
  invoke void @_ZN6ngraph18infer_auto_paddingERKNS_5ShapeES2_RKNS_7StridesES5_NS_2op7PadTypeERNS_14CoordinateDiffES9_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 8 dereferenceable(24) %94, i32 noundef %156, ptr noundef nonnull align 8 dereferenceable(24) %131, ptr noundef nonnull align 8 dereferenceable(24) %111)
          to label %157 unwind label %160

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

158:                                              ; preds = %151
  %159 = landingpad { ptr, i32 }
          cleanup
  br label %162

160:                                              ; preds = %155
  %161 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  br label %162

162:                                              ; preds = %160, %158
  %.pn50 = phi { ptr, i32 } [ %161, %160 ], [ %159, %158 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #7
  br label %181

163:                                              ; preds = %149, %157
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %164 unwind label %170

164:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #7
  %165 = call noundef i64 @_ZNKSt6vectorImSaImEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  invoke void @_ZN6ngraph7StridesC1Emm(ptr noundef nonnull align 8 dereferenceable(24) %25, i64 noundef %165, i64 noundef 1)
          to label %166 unwind label %172

166:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  invoke void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %167 unwind label %174

167:                                              ; preds = %166
  invoke void @_ZN6ngraph25infer_convolution_forwardEPKNS_4NodeERKNS_12PartialShapeERKNS_7StridesERKNS_14CoordinateDiffESB_S5_S8_S8_(ptr dead_on_unwind nonnull writable sret(%"class.ngraph::PartialShape") align 8 %23, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(24) %111, ptr noundef nonnull align 8 dereferenceable(24) %131, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 8 dereferenceable(24) %94)
          to label %168 unwind label %176

168:                                              ; preds = %167
  %169 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN6ngraph12PartialShapeaSEOS0_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  br label %185

170:                                              ; preds = %163
  %171 = landingpad { ptr, i32 }
          cleanup
  br label %180

172:                                              ; preds = %164
  %173 = landingpad { ptr, i32 }
          cleanup
  br label %179

174:                                              ; preds = %166
  %175 = landingpad { ptr, i32 }
          cleanup
  br label %178

176:                                              ; preds = %167
  %177 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %178

178:                                              ; preds = %176, %174
  %.pn52 = phi { ptr, i32 } [ %177, %176 ], [ %175, %174 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @_ZNSt6vectorImSaImEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  br label %179

179:                                              ; preds = %178, %172
  %.pn52.pn = phi { ptr, i32 } [ %.pn52, %178 ], [ %173, %172 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  br label %180

180:                                              ; preds = %179, %170
  %.pn52.pn.pn = phi { ptr, i32 } [ %.pn52.pn, %179 ], [ %171, %170 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %181

181:                                              ; preds = %180, %162, %148, %129, %109, %92
  %.pn52.pn.pn.pn = phi { ptr, i32 } [ %.pn52.pn.pn, %180 ], [ %.pn50, %162 ], [ %.pn47.pn, %148 ], [ %.pn44.pn, %129 ], [ %.pn41.pn, %109 ], [ %.pn.pn, %92 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  br label %182

182:                                              ; preds = %181, %83
  %.pn52.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn52.pn.pn.pn, %181 ], [ %84, %83 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  br label %183

183:                                              ; preds = %182, %81
  %.pn52.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn52.pn.pn.pn.pn, %182 ], [ %82, %81 ]
  call void @_ZN6ngraph5ShapeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  br label %184

184:                                              ; preds = %183, %79
  %.pn52.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn52.pn.pn.pn.pn.pn, %183 ], [ %80, %79 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #7
  br label %214

185:                                              ; preds = %168, %47, %44
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #7
  call void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %27)
  %186 = invoke noundef zeroext i1 @_ZN6ngraph7element4Type5mergeERS1_RKS1_S4_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %187 unwind label %199

187:                                              ; preds = %185
  br i1 %186, label %211, label %188

188:                                              ; preds = %187
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %28) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28)
          to label %189 unwind label %201

189:                                              ; preds = %188
  %190 = getelementptr inbounds i8, ptr %28, i64 16
  %191 = 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) %190, 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 %192 unwind label %203

192:                                              ; preds = %189
  %193 = call ptr @__cxa_allocate_exception(i64 16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #7
  store ptr @.str.8, ptr %29, align 8, !tbaa !77
  %194 = getelementptr inbounds i8, ptr %29, i64 8
  store i32 142, ptr %194, align 8, !tbaa !79
  %195 = getelementptr inbounds i8, ptr %29, i64 16
  store ptr @.str.9, ptr %195, align 8, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #7
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(128) %28)
          to label %196 unwind label %.thread

196:                                              ; preds = %192
  invoke void @_ZN6ngraph21NodeValidationFailureC2ERKNS_12CheckLocInfoEPKNS_4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %193, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %198 unwind label %.thread78

.thread78:                                        ; preds = %196
  %197 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  br label %208

198:                                              ; preds = %196
  invoke void @__cxa_throw(ptr nonnull %193, ptr nonnull @_ZTIN6ngraph21NodeValidationFailureE, ptr nonnull @_ZNSt13runtime_errorD2Ev) #8
          to label %218 unwind label %206

199:                                              ; preds = %211, %185
  %200 = landingpad { ptr, i32 }
          cleanup
  br label %213

201:                                              ; preds = %188
  %202 = landingpad { ptr, i32 }
          cleanup
  br label %210

203:                                              ; preds = %189
  %204 = landingpad { ptr, i32 }
          cleanup
  br label %209

.thread:                                          ; preds = %192
  %205 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  br label %208

206:                                              ; preds = %198
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  br label %209

208:                                              ; preds = %.thread78, %.thread
  %.pn6077 = phi { ptr, i32 } [ %205, %.thread ], [ %197, %.thread78 ]
  call void @__cxa_free_exception(ptr %193) #7
  br label %209

209:                                              ; preds = %206, %208, %203
  %.pn60.pn = phi { ptr, i32 } [ %.pn6077, %208 ], [ %207, %206 ], [ %204, %203 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %28) #7
  br label %210

210:                                              ; preds = %209, %201
  %.pn60.pn.pn = phi { ptr, i32 } [ %.pn60.pn, %209 ], [ %202, %201 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %28) #7
  br label %213

211:                                              ; preds = %187
  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) %27, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %212 unwind label %199

212:                                              ; preds = %211
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #7
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #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

213:                                              ; preds = %210, %199
  %.pn64 = phi { ptr, i32 } [ %200, %199 ], [ %.pn60.pn.pn, %210 ]
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #7
  br label %214

214:                                              ; preds = %213, %184, %77
  %.pn64.pn = phi { ptr, i32 } [ %.pn64, %213 ], [ %.pn52.pn.pn.pn.pn.pn.pn, %184 ], [ %78, %77 ]
  call void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  br label %215

215:                                              ; preds = %214, %75
  %.pn64.pn.pn = phi { ptr, i32 } [ %.pn64.pn, %214 ], [ %76, %75 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  call void @_ZN6ngraph7element4TypeD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %3) #7
  br label %216

216:                                              ; preds = %215, %73
  %.pn64.pn.pn.pn = phi { ptr, i32 } [ %.pn64.pn.pn, %215 ], [ %74, %73 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  br label %217

217:                                              ; preds = %216, %71
  %.pn64.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn64.pn.pn.pn, %216 ], [ %72, %71 ]
  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 } %.pn64.pn.pn.pn.pn

218:                                              ; preds = %198
  unreachable
}

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

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

declare void @_ZN6ngraph12PartialShape7dynamicENS_9DimensionE(ptr dead_on_unwind writable sret(%"class.ngraph::PartialShape") align 8, i64, i64) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local { i64, i64 } @_ZN6ngraph9Dimension7dynamicEv() local_unnamed_addr #2 align 2

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

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 #4

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt6vectorImSaImEE5eraseEN9__gnu_cxx17__normal_iteratorIPKmS1_EE(ptr noundef nonnull align 8 dereferenceable(24), ptr) local_unnamed_addr #3 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 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 #4

declare void @_ZN6ngraph12PartialShapeC1ERKNS_5ShapeE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4

; 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: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph12PartialShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

; 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 #4

; 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

; 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 @_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 #4

; 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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ngraph5ShapeC2IN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEEET_S9_(ptr noundef nonnull align 8 dereferenceable(24), ptr, ptr) unnamed_addr #3 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 #4

declare void @_ZN6ngraph7StridesC1Emm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, i64 noundef) unnamed_addr #4

; 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 #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ngraph7element4TypeC2Ev(ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #2 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 #4

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #3 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 #6

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 #3 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 #3 align 2

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 @_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 #4

; 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: nounwind
declare void @_ZNSt13runtime_errorD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1

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 = { 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 #4 = { "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 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 #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 = { 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, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !76, i64 776}
!12 = !{!"_ZTSN6ngraph2op2v116GroupConvolutionE", !13, i64 0, !66, i64 680, !66, i64 704, !71, i64 728, !71, i64 752, !76, i64 776}
!13 = !{!"_ZTSN6ngraph2op2OpE", !14, i64 0}
!14 = !{!"_ZTSN6ngraph4NodeE", !15, i64 8, !20, i64 24, !20, i64 80, !25, i64 136, !29, i64 160, !33, i64 184, !10, i64 216, !33, i64 224, !33, i64 256, !35, i64 288, !37, i64 344, !45, i64 392, !50, i64 472, !55, i64 552, !57, i64 608, !58, i64 616, !61, i64 632}
!15 = !{!"_ZTSSt23enable_shared_from_thisIN6ngraph4NodeEE", !16, i64 0}
!16 = !{!"_ZTSSt8weak_ptrIN6ngraph4NodeEE", !17, i64 0}
!17 = !{!"_ZTSSt10__weak_ptrIN6ngraph4NodeELN9__gnu_cxx12_Lock_policyE2EE", !18, i64 0, !19, i64 8}
!18 = !{!"any pointer", !7, i64 0}
!19 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !18, 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", !18, i64 0, !10, i64 8, !22, i64 16, !10, i64 24, !23, i64 32, !18, i64 48}
!22 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !18, i64 0}
!23 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !24, i64 0, !10, i64 8}
!24 = !{!"float", !7, i64 0}
!25 = !{!"_ZTSSt6vectorIPN6ngraph4NodeESaIS2_EE", !26, i64 0}
!26 = !{!"_ZTSSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE12_Vector_implE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseIPN6ngraph4NodeESaIS2_EE17_Vector_impl_dataE", !18, i64 0, !18, i64 8, !18, i64 16}
!29 = !{!"_ZTSSt6vectorISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !30, i64 0}
!30 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE12_Vector_implE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN6ngraph4NodeEESaIS3_EE17_Vector_impl_dataE", !18, i64 0, !18, i64 8, !18, i64 16}
!33 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !34, i64 0, !10, i64 8, !7, i64 16}
!34 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !18, i64 0}
!35 = !{!"_ZTSSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE", !36, i64 0}
!36 = !{!"_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", !18, i64 0, !10, i64 8, !22, i64 16, !10, i64 24, !23, i64 32, !18, i64 48}
!37 = !{!"_ZTSSt3setISt10shared_ptrIN6ngraph4NodeEESt4lessIS3_ESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE", !39, i64 0}
!39 = !{!"_ZTSNSt8_Rb_treeISt10shared_ptrIN6ngraph4NodeEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !40, i64 0, !42, i64 8}
!40 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt10shared_ptrIN6ngraph4NodeEEEE", !41, i64 0}
!41 = !{!"_ZTSSt4lessISt10shared_ptrIN6ngraph4NodeEEE"}
!42 = !{!"_ZTSSt15_Rb_tree_header", !43, i64 0, !10, i64 32}
!43 = !{!"_ZTSSt18_Rb_tree_node_base", !44, i64 0, !18, i64 8, !18, i64 16, !18, i64 24}
!44 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!45 = !{!"_ZTSSt5dequeIN6ngraph10descriptor5InputESaIS2_EE", !46, i64 0}
!46 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE", !47, i64 0}
!47 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE11_Deque_implE", !48, i64 0}
!48 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor5InputESaIS2_EE16_Deque_impl_dataE", !18, i64 0, !10, i64 8, !49, i64 16, !49, i64 48}
!49 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor5InputERS2_PS2_E", !18, i64 0, !18, i64 8, !18, i64 16, !18, i64 24}
!50 = !{!"_ZTSSt5dequeIN6ngraph10descriptor6OutputESaIS2_EE", !51, i64 0}
!51 = !{!"_ZTSSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE", !52, i64 0}
!52 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE11_Deque_implE", !53, i64 0}
!53 = !{!"_ZTSNSt11_Deque_baseIN6ngraph10descriptor6OutputESaIS2_EE16_Deque_impl_dataE", !18, i64 0, !10, i64 8, !54, i64 16, !54, i64 48}
!54 = !{!"_ZTSSt15_Deque_iteratorIN6ngraph10descriptor6OutputERS2_PS2_E", !18, i64 0, !18, i64 8, !18, i64 16, !18, i64 24}
!55 = !{!"_ZTSSt13unordered_mapIPN6ngraph4NodeENS0_8autodiff8AdjointsESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !56, i64 0}
!56 = !{!"_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", !18, i64 0, !10, i64 8, !22, i64 16, !10, i64 24, !23, i64 32, !18, i64 48}
!57 = !{!"int", !7, i64 0}
!58 = !{!"_ZTSSt10shared_ptrIN6ngraph2op4util13OpAnnotationsEE", !59, i64 0}
!59 = !{!"_ZTSSt12__shared_ptrIN6ngraph2op4util13OpAnnotationsELN9__gnu_cxx12_Lock_policyE2EE", !18, i64 0, !60, i64 8}
!60 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !18, i64 0}
!61 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN6ngraph7VariantEESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !62, i64 0}
!62 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !63, i64 0}
!63 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN6ngraph7VariantEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !64, i64 0, !42, i64 8}
!64 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !65, i64 0}
!65 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!66 = !{!"_ZTSN6ngraph7StridesE", !67, i64 0}
!67 = !{!"_ZTSSt6vectorImSaImEE", !68, i64 0}
!68 = !{!"_ZTSSt12_Vector_baseImSaImEE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseImSaImEE12_Vector_implE", !70, i64 0}
!70 = !{!"_ZTSNSt12_Vector_baseImSaImEE17_Vector_impl_dataE", !18, i64 0, !18, i64 8, !18, i64 16}
!71 = !{!"_ZTSN6ngraph14CoordinateDiffE", !72, i64 0}
!72 = !{!"_ZTSSt6vectorIlSaIlEE", !73, i64 0}
!73 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !75, i64 0}
!75 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !18, i64 0, !18, i64 8, !18, i64 16}
!76 = !{!"_ZTSN6ngraph2op7PadTypeE", !7, i64 0}
!77 = !{!78, !18, i64 0}
!78 = !{!"_ZTSN6ngraph12CheckLocInfoE", !18, i64 0, !57, i64 8, !18, i64 16}
!79 = !{!78, !57, i64 8}
!80 = !{!78, !18, i64 16}


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