; LLVM IR from NVIDIA/TensorRT :: plugin/priorBoxPlugin (priorBoxPlugin)

; 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"

%"struct.nvinfer1::plugin::PriorBoxParameters" = type { ptr, ptr, ptr, i32, i32, i32, i8, i8, [4 x float], i32, i32, float, float, float }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.nvinfer1::PluginFieldCollection" = type { i32, ptr }
%"class.nvinfer1::PluginField" = type { ptr, ptr, i32, i32 }
%"class.nvinfer1::pluginInternal::BaseCreator" = type { %"class.nvinfer1::v_1_0::IPluginCreator", %"class.std::__cxx11::basic_string" }
%"class.nvinfer1::v_1_0::IPluginCreator" = type { %"class.nvinfer1::v_1_0::IPluginCreatorInterface" }
%"class.nvinfer1::v_1_0::IPluginCreatorInterface" = type { %"class.nvinfer1::IVersionedInterface" }
%"class.nvinfer1::IVersionedInterface" = 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] }

@.str = external hidden unnamed_addr constant [90 x i8], align 1
@_ZTISt9exception = external constant ptr
@.str.26 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [7 x i8], align 1
@__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE = external hidden unnamed_addr constant [13 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [42 x i8], align 1

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

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

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

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

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

; Function Attrs: noreturn
declare void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) #3

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) #4

declare ptr @__cxa_begin_catch(ptr)

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #5

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #6

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

; Function Attrs: nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin11caughtErrorERKSt9exception(ptr noundef nonnull align 8 dereferenceable(8)) #8

declare void @__cxa_end_catch()

; Function Attrs: mustprogress nounwind uwtable
define dso_local noundef ptr @_ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef %1, ptr noundef %2) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca %"struct.nvinfer1::plugin::PriorBoxParameters", align 8
  %10 = alloca %"class.std::vector.0", align 8
  %11 = alloca %"class.std::vector.0", align 8
  %12 = alloca %"class.std::vector.0", align 8
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca ptr, align 8
  %24 = alloca i32, align 4
  %25 = alloca ptr, align 8
  %26 = alloca i32, align 4
  %27 = alloca ptr, align 8
  %28 = alloca %"struct.nvinfer1::plugin::PriorBoxParameters", align 8
  %29 = alloca ptr, align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  %30 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #11
  %31 = load ptr, ptr %7, align 8, !tbaa !5
  %32 = getelementptr inbounds %"struct.nvinfer1::PluginFieldCollection", ptr %31, i32 0, i32 1
  %33 = load ptr, ptr %32, align 8, !tbaa !9
  store ptr %33, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 80, ptr %9) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #11
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #11
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #11
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  store i32 0, ptr %13, align 4, !tbaa !12
  br label %34

34:                                               ; preds = %446, %3
  %35 = load i32, ptr %13, align 4, !tbaa !12
  %36 = load ptr, ptr %7, align 8, !tbaa !5
  %37 = getelementptr inbounds %"struct.nvinfer1::PluginFieldCollection", ptr %36, i32 0, i32 0
  %38 = load i32, ptr %37, align 8, !tbaa !13
  %39 = icmp slt i32 %35, %38
  br i1 %39, label %41, label %40

40:                                               ; preds = %34
  store i32 2, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %450

41:                                               ; preds = %34
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #11
  %42 = load ptr, ptr %8, align 8, !tbaa !5
  %43 = load i32, ptr %13, align 4, !tbaa !12
  %44 = sext i32 %43 to i64
  %45 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %42, i64 %44
  %46 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %45, i32 0, i32 0
  %47 = load ptr, ptr %46, align 8, !tbaa !14
  store ptr %47, ptr %15, align 8, !tbaa !5
  %48 = load ptr, ptr %15, align 8, !tbaa !5
  %49 = call i32 @strcmp(ptr noundef %48, ptr noundef @.str.26) #12
  %50 = icmp ne i32 %49, 0
  br i1 %50, label %106, label %51

51:                                               ; preds = %41
  %52 = load ptr, ptr %8, align 8, !tbaa !5
  %53 = load i32, ptr %13, align 4, !tbaa !12
  %54 = sext i32 %53 to i64
  %55 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %52, i64 %54
  %56 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %55, i32 0, i32 2
  %57 = load i32, ptr %56, align 8, !tbaa !17
  %58 = icmp eq i32 %57, 1
  br i1 %58, label %65, label %59

59:                                               ; preds = %51
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 415, i32 noundef 0, ptr noundef @.str.37) #13
          to label %60 unwind label %61

60:                                               ; preds = %59
  unreachable

61:                                               ; preds = %424, %401, %378, %355, %332, %307, %282, %228, %173, %118, %59
  %62 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %63 = extractvalue { ptr, i32 } %62, 0
  store ptr %63, ptr %16, align 8
  %64 = extractvalue { ptr, i32 } %62, 1
  store i32 %64, ptr %17, align 4
  br label %449

65:                                               ; preds = %51
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %66 = load ptr, ptr %8, align 8, !tbaa !5
  %67 = load i32, ptr %13, align 4, !tbaa !12
  %68 = sext i32 %67 to i64
  %69 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %66, i64 %68
  %70 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %69, i32 0, i32 3
  %71 = load i32, ptr %70, align 4, !tbaa !18
  store i32 %71, ptr %18, align 4, !tbaa !12
  %72 = load i32, ptr %18, align 4, !tbaa !12
  %73 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 3
  store i32 %72, ptr %73, align 8, !tbaa !19
  %74 = load i32, ptr %18, align 4, !tbaa !12
  %75 = icmp sgt i32 %74, 0
  br i1 %75, label %76, label %102

76:                                               ; preds = %65
  %77 = load i32, ptr %18, align 4, !tbaa !12
  %78 = sext i32 %77 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %78)
          to label %79 unwind label %94

79:                                               ; preds = %76
  %80 = call noundef ptr @_ZNSt6vectorIfSaIfEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #11
  %81 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 0
  store ptr %80, ptr %81, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #11
  %82 = load ptr, ptr %8, align 8, !tbaa !5
  %83 = load i32, ptr %13, align 4, !tbaa !12
  %84 = sext i32 %83 to i64
  %85 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %82, i64 %84
  %86 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %85, i32 0, i32 1
  %87 = load ptr, ptr %86, align 8, !tbaa !24
  store ptr %87, ptr %19, align 8, !tbaa !5
  %88 = load ptr, ptr %19, align 8, !tbaa !5
  %89 = load i32, ptr %18, align 4, !tbaa !12
  %90 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 0
  %91 = load ptr, ptr %90, align 8, !tbaa !23
  %92 = invoke noundef ptr @_ZSt6copy_nIPKfiPfET1_T_T0_S3_(ptr noundef %88, i32 noundef %89, ptr noundef %91)
          to label %93 unwind label %98

93:                                               ; preds = %79
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #11
  br label %104

94:                                               ; preds = %76
  %95 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %96 = extractvalue { ptr, i32 } %95, 0
  store ptr %96, ptr %16, align 8
  %97 = extractvalue { ptr, i32 } %95, 1
  store i32 %97, ptr %17, align 4
  br label %105

98:                                               ; preds = %79
  %99 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %100 = extractvalue { ptr, i32 } %99, 0
  store ptr %100, ptr %16, align 8
  %101 = extractvalue { ptr, i32 } %99, 1
  store i32 %101, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #11
  br label %105

102:                                              ; preds = %65
  %103 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 0
  store ptr null, ptr %103, align 8, !tbaa !23
  br label %104

104:                                              ; preds = %102, %93
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %445

105:                                              ; preds = %98, %94
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %449

106:                                              ; preds = %41
  %107 = load ptr, ptr %15, align 8, !tbaa !5
  %108 = call i32 @strcmp(ptr noundef %107, ptr noundef @.str.27) #12
  %109 = icmp ne i32 %108, 0
  br i1 %109, label %161, label %110

110:                                              ; preds = %106
  %111 = load ptr, ptr %8, align 8, !tbaa !5
  %112 = load i32, ptr %13, align 4, !tbaa !12
  %113 = sext i32 %112 to i64
  %114 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %111, i64 %113
  %115 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %114, i32 0, i32 2
  %116 = load i32, ptr %115, align 8, !tbaa !17
  %117 = icmp eq i32 %116, 1
  br i1 %117, label %120, label %118

118:                                              ; preds = %110
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 432, i32 noundef 0, ptr noundef @.str.37) #13
          to label %119 unwind label %61

119:                                              ; preds = %118
  unreachable

120:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %121 = load ptr, ptr %8, align 8, !tbaa !5
  %122 = load i32, ptr %13, align 4, !tbaa !12
  %123 = sext i32 %122 to i64
  %124 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %121, i64 %123
  %125 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %124, i32 0, i32 3
  %126 = load i32, ptr %125, align 4, !tbaa !18
  store i32 %126, ptr %20, align 4, !tbaa !12
  %127 = load i32, ptr %20, align 4, !tbaa !12
  %128 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 4
  store i32 %127, ptr %128, align 4, !tbaa !25
  %129 = load i32, ptr %20, align 4, !tbaa !12
  %130 = icmp sgt i32 %129, 0
  br i1 %130, label %131, label %157

131:                                              ; preds = %120
  %132 = load i32, ptr %20, align 4, !tbaa !12
  %133 = sext i32 %132 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %133)
          to label %134 unwind label %149

134:                                              ; preds = %131
  %135 = call noundef ptr @_ZNSt6vectorIfSaIfEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #11
  %136 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 1
  store ptr %135, ptr %136, align 8, !tbaa !26
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #11
  %137 = load ptr, ptr %8, align 8, !tbaa !5
  %138 = load i32, ptr %13, align 4, !tbaa !12
  %139 = sext i32 %138 to i64
  %140 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %137, i64 %139
  %141 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %140, i32 0, i32 1
  %142 = load ptr, ptr %141, align 8, !tbaa !24
  store ptr %142, ptr %21, align 8, !tbaa !5
  %143 = load ptr, ptr %21, align 8, !tbaa !5
  %144 = load i32, ptr %20, align 4, !tbaa !12
  %145 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 1
  %146 = load ptr, ptr %145, align 8, !tbaa !26
  %147 = invoke noundef ptr @_ZSt6copy_nIPKfiPfET1_T_T0_S3_(ptr noundef %143, i32 noundef %144, ptr noundef %146)
          to label %148 unwind label %153

148:                                              ; preds = %134
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #11
  br label %159

149:                                              ; preds = %131
  %150 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %151 = extractvalue { ptr, i32 } %150, 0
  store ptr %151, ptr %16, align 8
  %152 = extractvalue { ptr, i32 } %150, 1
  store i32 %152, ptr %17, align 4
  br label %160

153:                                              ; preds = %134
  %154 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %155 = extractvalue { ptr, i32 } %154, 0
  store ptr %155, ptr %16, align 8
  %156 = extractvalue { ptr, i32 } %154, 1
  store i32 %156, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #11
  br label %160

157:                                              ; preds = %120
  %158 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 1
  store ptr null, ptr %158, align 8, !tbaa !26
  br label %159

159:                                              ; preds = %157, %148
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %444

160:                                              ; preds = %153, %149
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %449

161:                                              ; preds = %106
  %162 = load ptr, ptr %15, align 8, !tbaa !5
  %163 = call i32 @strcmp(ptr noundef %162, ptr noundef @.str.28) #12
  %164 = icmp ne i32 %163, 0
  br i1 %164, label %216, label %165

165:                                              ; preds = %161
  %166 = load ptr, ptr %8, align 8, !tbaa !5
  %167 = load i32, ptr %13, align 4, !tbaa !12
  %168 = sext i32 %167 to i64
  %169 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %166, i64 %168
  %170 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %169, i32 0, i32 2
  %171 = load i32, ptr %170, align 8, !tbaa !17
  %172 = icmp eq i32 %171, 1
  br i1 %172, label %175, label %173

173:                                              ; preds = %165
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 449, i32 noundef 0, ptr noundef @.str.37) #13
          to label %174 unwind label %61

174:                                              ; preds = %173
  unreachable

175:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  %176 = load ptr, ptr %8, align 8, !tbaa !5
  %177 = load i32, ptr %13, align 4, !tbaa !12
  %178 = sext i32 %177 to i64
  %179 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %176, i64 %178
  %180 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %179, i32 0, i32 3
  %181 = load i32, ptr %180, align 4, !tbaa !18
  store i32 %181, ptr %22, align 4, !tbaa !12
  %182 = load i32, ptr %22, align 4, !tbaa !12
  %183 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 5
  store i32 %182, ptr %183, align 8, !tbaa !27
  %184 = load i32, ptr %22, align 4, !tbaa !12
  %185 = icmp sgt i32 %184, 0
  br i1 %185, label %186, label %212

186:                                              ; preds = %175
  %187 = load i32, ptr %22, align 4, !tbaa !12
  %188 = sext i32 %187 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %188)
          to label %189 unwind label %204

189:                                              ; preds = %186
  %190 = call noundef ptr @_ZNSt6vectorIfSaIfEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #11
  %191 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 2
  store ptr %190, ptr %191, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #11
  %192 = load ptr, ptr %8, align 8, !tbaa !5
  %193 = load i32, ptr %13, align 4, !tbaa !12
  %194 = sext i32 %193 to i64
  %195 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %192, i64 %194
  %196 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %195, i32 0, i32 1
  %197 = load ptr, ptr %196, align 8, !tbaa !24
  store ptr %197, ptr %23, align 8, !tbaa !5
  %198 = load ptr, ptr %23, align 8, !tbaa !5
  %199 = load i32, ptr %22, align 4, !tbaa !12
  %200 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 2
  %201 = load ptr, ptr %200, align 8, !tbaa !28
  %202 = invoke noundef ptr @_ZSt6copy_nIPKfiPfET1_T_T0_S3_(ptr noundef %198, i32 noundef %199, ptr noundef %201)
          to label %203 unwind label %208

203:                                              ; preds = %189
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #11
  br label %214

204:                                              ; preds = %186
  %205 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %206 = extractvalue { ptr, i32 } %205, 0
  store ptr %206, ptr %16, align 8
  %207 = extractvalue { ptr, i32 } %205, 1
  store i32 %207, ptr %17, align 4
  br label %215

208:                                              ; preds = %189
  %209 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %210 = extractvalue { ptr, i32 } %209, 0
  store ptr %210, ptr %16, align 8
  %211 = extractvalue { ptr, i32 } %209, 1
  store i32 %211, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #11
  br label %215

212:                                              ; preds = %175
  %213 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 2
  store ptr null, ptr %213, align 8, !tbaa !28
  br label %214

214:                                              ; preds = %212, %203
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %443

215:                                              ; preds = %208, %204
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %449

216:                                              ; preds = %161
  %217 = load ptr, ptr %15, align 8, !tbaa !5
  %218 = call i32 @strcmp(ptr noundef %217, ptr noundef @.str.31) #12
  %219 = icmp ne i32 %218, 0
  br i1 %219, label %270, label %220

220:                                              ; preds = %216
  %221 = load ptr, ptr %8, align 8, !tbaa !5
  %222 = load i32, ptr %13, align 4, !tbaa !12
  %223 = sext i32 %222 to i64
  %224 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %221, i64 %223
  %225 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %224, i32 0, i32 2
  %226 = load i32, ptr %225, align 8, !tbaa !17
  %227 = icmp eq i32 %226, 1
  br i1 %227, label %230, label %228

228:                                              ; preds = %220
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 466, i32 noundef 0, ptr noundef @.str.37) #13
          to label %229 unwind label %61

229:                                              ; preds = %228
  unreachable

230:                                              ; preds = %220
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  %231 = load ptr, ptr %8, align 8, !tbaa !5
  %232 = load i32, ptr %13, align 4, !tbaa !12
  %233 = sext i32 %232 to i64
  %234 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %231, i64 %233
  %235 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %234, i32 0, i32 3
  %236 = load i32, ptr %235, align 4, !tbaa !18
  store i32 %236, ptr %24, align 4, !tbaa !12
  %237 = load i32, ptr %24, align 4, !tbaa !12
  %238 = icmp eq i32 %237, 4
  br i1 %238, label %245, label %239

239:                                              ; preds = %230
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 468, i32 noundef 0, ptr noundef @.str.38) #13
          to label %240 unwind label %241

240:                                              ; preds = %239
  unreachable

241:                                              ; preds = %239
  %242 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %243 = extractvalue { ptr, i32 } %242, 0
  store ptr %243, ptr %16, align 8
  %244 = extractvalue { ptr, i32 } %242, 1
  store i32 %244, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %449

245:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #11
  %246 = load ptr, ptr %8, align 8, !tbaa !5
  %247 = load i32, ptr %13, align 4, !tbaa !12
  %248 = sext i32 %247 to i64
  %249 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %246, i64 %248
  %250 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %249, i32 0, i32 1
  %251 = load ptr, ptr %250, align 8, !tbaa !24
  store ptr %251, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #11
  store i32 0, ptr %26, align 4, !tbaa !12
  br label %252

252:                                              ; preds = %266, %245
  %253 = load i32, ptr %26, align 4, !tbaa !12
  %254 = load i32, ptr %24, align 4, !tbaa !12
  %255 = icmp slt i32 %253, %254
  br i1 %255, label %257, label %256

256:                                              ; preds = %252
  store i32 5, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %269

257:                                              ; preds = %252
  %258 = load ptr, ptr %25, align 8, !tbaa !5
  %259 = load float, ptr %258, align 4, !tbaa !29
  %260 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 8
  %261 = load i32, ptr %26, align 4, !tbaa !12
  %262 = sext i32 %261 to i64
  %263 = getelementptr inbounds [4 x float], ptr %260, i64 0, i64 %262
  store float %259, ptr %263, align 4, !tbaa !29
  %264 = load ptr, ptr %25, align 8, !tbaa !5
  %265 = getelementptr inbounds float, ptr %264, i32 1
  store ptr %265, ptr %25, align 8, !tbaa !5
  br label %266

266:                                              ; preds = %257
  %267 = load i32, ptr %26, align 4, !tbaa !12
  %268 = add nsw i32 %267, 1
  store i32 %268, ptr %26, align 4, !tbaa !12
  br label %252, !llvm.loop !30

269:                                              ; preds = %256
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %442

270:                                              ; preds = %216
  %271 = load ptr, ptr %15, align 8, !tbaa !5
  %272 = call i32 @strcmp(ptr noundef %271, ptr noundef @.str.29) #12
  %273 = icmp ne i32 %272, 0
  br i1 %273, label %295, label %274

274:                                              ; preds = %270
  %275 = load ptr, ptr %8, align 8, !tbaa !5
  %276 = load i32, ptr %13, align 4, !tbaa !12
  %277 = sext i32 %276 to i64
  %278 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %275, i64 %277
  %279 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %278, i32 0, i32 2
  %280 = load i32, ptr %279, align 8, !tbaa !17
  %281 = icmp eq i32 %280, 5
  br i1 %281, label %284, label %282

282:                                              ; preds = %274
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 478, i32 noundef 0, ptr noundef @.str.39) #13
          to label %283 unwind label %61

283:                                              ; preds = %282
  unreachable

284:                                              ; preds = %274
  %285 = load ptr, ptr %8, align 8, !tbaa !5
  %286 = load i32, ptr %13, align 4, !tbaa !12
  %287 = sext i32 %286 to i64
  %288 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %285, i64 %287
  %289 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %288, i32 0, i32 1
  %290 = load ptr, ptr %289, align 8, !tbaa !24
  %291 = load i32, ptr %290, align 4, !tbaa !12
  %292 = icmp ne i32 %291, 0
  %293 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 6
  %294 = zext i1 %292 to i8
  store i8 %294, ptr %293, align 4, !tbaa !32
  br label %441

295:                                              ; preds = %270
  %296 = load ptr, ptr %15, align 8, !tbaa !5
  %297 = call i32 @strcmp(ptr noundef %296, ptr noundef @.str.30) #12
  %298 = icmp ne i32 %297, 0
  br i1 %298, label %320, label %299

299:                                              ; preds = %295
  %300 = load ptr, ptr %8, align 8, !tbaa !5
  %301 = load i32, ptr %13, align 4, !tbaa !12
  %302 = sext i32 %301 to i64
  %303 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %300, i64 %302
  %304 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %303, i32 0, i32 2
  %305 = load i32, ptr %304, align 8, !tbaa !17
  %306 = icmp eq i32 %305, 5
  br i1 %306, label %309, label %307

307:                                              ; preds = %299
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 483, i32 noundef 0, ptr noundef @.str.39) #13
          to label %308 unwind label %61

308:                                              ; preds = %307
  unreachable

309:                                              ; preds = %299
  %310 = load ptr, ptr %8, align 8, !tbaa !5
  %311 = load i32, ptr %13, align 4, !tbaa !12
  %312 = sext i32 %311 to i64
  %313 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %310, i64 %312
  %314 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %313, i32 0, i32 1
  %315 = load ptr, ptr %314, align 8, !tbaa !24
  %316 = load i32, ptr %315, align 4, !tbaa !12
  %317 = icmp ne i32 %316, 0
  %318 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 7
  %319 = zext i1 %317 to i8
  store i8 %319, ptr %318, align 1, !tbaa !33
  br label %440

320:                                              ; preds = %295
  %321 = load ptr, ptr %15, align 8, !tbaa !5
  %322 = call i32 @strcmp(ptr noundef %321, ptr noundef @.str.32) #12
  %323 = icmp ne i32 %322, 0
  br i1 %323, label %343, label %324

324:                                              ; preds = %320
  %325 = load ptr, ptr %8, align 8, !tbaa !5
  %326 = load i32, ptr %13, align 4, !tbaa !12
  %327 = sext i32 %326 to i64
  %328 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %325, i64 %327
  %329 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %328, i32 0, i32 2
  %330 = load i32, ptr %329, align 8, !tbaa !17
  %331 = icmp eq i32 %330, 5
  br i1 %331, label %334, label %332

332:                                              ; preds = %324
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 488, i32 noundef 0, ptr noundef @.str.39) #13
          to label %333 unwind label %61

333:                                              ; preds = %332
  unreachable

334:                                              ; preds = %324
  %335 = load ptr, ptr %8, align 8, !tbaa !5
  %336 = load i32, ptr %13, align 4, !tbaa !12
  %337 = sext i32 %336 to i64
  %338 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %335, i64 %337
  %339 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %338, i32 0, i32 1
  %340 = load ptr, ptr %339, align 8, !tbaa !24
  %341 = load i32, ptr %340, align 4, !tbaa !12
  %342 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 9
  store i32 %341, ptr %342, align 8, !tbaa !34
  br label %439

343:                                              ; preds = %320
  %344 = load ptr, ptr %15, align 8, !tbaa !5
  %345 = call i32 @strcmp(ptr noundef %344, ptr noundef @.str.33) #12
  %346 = icmp ne i32 %345, 0
  br i1 %346, label %366, label %347

347:                                              ; preds = %343
  %348 = load ptr, ptr %8, align 8, !tbaa !5
  %349 = load i32, ptr %13, align 4, !tbaa !12
  %350 = sext i32 %349 to i64
  %351 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %348, i64 %350
  %352 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %351, i32 0, i32 2
  %353 = load i32, ptr %352, align 8, !tbaa !17
  %354 = icmp eq i32 %353, 5
  br i1 %354, label %357, label %355

355:                                              ; preds = %347
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 493, i32 noundef 0, ptr noundef @.str.39) #13
          to label %356 unwind label %61

356:                                              ; preds = %355
  unreachable

357:                                              ; preds = %347
  %358 = load ptr, ptr %8, align 8, !tbaa !5
  %359 = load i32, ptr %13, align 4, !tbaa !12
  %360 = sext i32 %359 to i64
  %361 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %358, i64 %360
  %362 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %361, i32 0, i32 1
  %363 = load ptr, ptr %362, align 8, !tbaa !24
  %364 = load i32, ptr %363, align 4, !tbaa !12
  %365 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 10
  store i32 %364, ptr %365, align 4, !tbaa !35
  br label %438

366:                                              ; preds = %343
  %367 = load ptr, ptr %15, align 8, !tbaa !5
  %368 = call i32 @strcmp(ptr noundef %367, ptr noundef @.str.34) #12
  %369 = icmp ne i32 %368, 0
  br i1 %369, label %389, label %370

370:                                              ; preds = %366
  %371 = load ptr, ptr %8, align 8, !tbaa !5
  %372 = load i32, ptr %13, align 4, !tbaa !12
  %373 = sext i32 %372 to i64
  %374 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %371, i64 %373
  %375 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %374, i32 0, i32 2
  %376 = load i32, ptr %375, align 8, !tbaa !17
  %377 = icmp eq i32 %376, 1
  br i1 %377, label %380, label %378

378:                                              ; preds = %370
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 498, i32 noundef 0, ptr noundef @.str.37) #13
          to label %379 unwind label %61

379:                                              ; preds = %378
  unreachable

380:                                              ; preds = %370
  %381 = load ptr, ptr %8, align 8, !tbaa !5
  %382 = load i32, ptr %13, align 4, !tbaa !12
  %383 = sext i32 %382 to i64
  %384 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %381, i64 %383
  %385 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %384, i32 0, i32 1
  %386 = load ptr, ptr %385, align 8, !tbaa !24
  %387 = load float, ptr %386, align 4, !tbaa !29
  %388 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 11
  store float %387, ptr %388, align 8, !tbaa !36
  br label %437

389:                                              ; preds = %366
  %390 = load ptr, ptr %15, align 8, !tbaa !5
  %391 = call i32 @strcmp(ptr noundef %390, ptr noundef @.str.35) #12
  %392 = icmp ne i32 %391, 0
  br i1 %392, label %412, label %393

393:                                              ; preds = %389
  %394 = load ptr, ptr %8, align 8, !tbaa !5
  %395 = load i32, ptr %13, align 4, !tbaa !12
  %396 = sext i32 %395 to i64
  %397 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %394, i64 %396
  %398 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %397, i32 0, i32 2
  %399 = load i32, ptr %398, align 8, !tbaa !17
  %400 = icmp eq i32 %399, 1
  br i1 %400, label %403, label %401

401:                                              ; preds = %393
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 503, i32 noundef 0, ptr noundef @.str.37) #13
          to label %402 unwind label %61

402:                                              ; preds = %401
  unreachable

403:                                              ; preds = %393
  %404 = load ptr, ptr %8, align 8, !tbaa !5
  %405 = load i32, ptr %13, align 4, !tbaa !12
  %406 = sext i32 %405 to i64
  %407 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %404, i64 %406
  %408 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %407, i32 0, i32 1
  %409 = load ptr, ptr %408, align 8, !tbaa !24
  %410 = load float, ptr %409, align 4, !tbaa !29
  %411 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 12
  store float %410, ptr %411, align 4, !tbaa !37
  br label %436

412:                                              ; preds = %389
  %413 = load ptr, ptr %15, align 8, !tbaa !5
  %414 = call i32 @strcmp(ptr noundef %413, ptr noundef @.str.36) #12
  %415 = icmp ne i32 %414, 0
  br i1 %415, label %435, label %416

416:                                              ; preds = %412
  %417 = load ptr, ptr %8, align 8, !tbaa !5
  %418 = load i32, ptr %13, align 4, !tbaa !12
  %419 = sext i32 %418 to i64
  %420 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %417, i64 %419
  %421 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %420, i32 0, i32 2
  %422 = load i32, ptr %421, align 8, !tbaa !17
  %423 = icmp eq i32 %422, 1
  br i1 %423, label %426, label %424

424:                                              ; preds = %416
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 508, i32 noundef 0, ptr noundef @.str.37) #13
          to label %425 unwind label %61

425:                                              ; preds = %424
  unreachable

426:                                              ; preds = %416
  %427 = load ptr, ptr %8, align 8, !tbaa !5
  %428 = load i32, ptr %13, align 4, !tbaa !12
  %429 = sext i32 %428 to i64
  %430 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %427, i64 %429
  %431 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %430, i32 0, i32 1
  %432 = load ptr, ptr %431, align 8, !tbaa !24
  %433 = load float, ptr %432, align 4, !tbaa !29
  %434 = getelementptr inbounds %"struct.nvinfer1::plugin::PriorBoxParameters", ptr %9, i32 0, i32 13
  store float %433, ptr %434, align 8, !tbaa !38
  br label %435

435:                                              ; preds = %426, %412
  br label %436

436:                                              ; preds = %435, %403
  br label %437

437:                                              ; preds = %436, %380
  br label %438

438:                                              ; preds = %437, %357
  br label %439

439:                                              ; preds = %438, %334
  br label %440

440:                                              ; preds = %439, %309
  br label %441

441:                                              ; preds = %440, %284
  br label %442

442:                                              ; preds = %441, %269
  br label %443

443:                                              ; preds = %442, %214
  br label %444

444:                                              ; preds = %443, %159
  br label %445

445:                                              ; preds = %444, %104
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #11
  br label %446

446:                                              ; preds = %445
  %447 = load i32, ptr %13, align 4, !tbaa !12
  %448 = add nsw i32 %447, 1
  store i32 %448, ptr %13, align 4, !tbaa !12
  br label %34, !llvm.loop !39

449:                                              ; preds = %241, %215, %160, %105, %61
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %470

450:                                              ; preds = %40
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #11
  %451 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 280) #14
          to label %452 unwind label %461

452:                                              ; preds = %450
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %28, ptr align 8 %9, i64 80, i1 false), !tbaa.struct !40
  invoke void @_ZN8nvinfer16plugin8PriorBoxC1ENS0_18PriorBoxParametersEii(ptr noundef nonnull align 8 dereferenceable(280) %451, ptr noundef byval(%"struct.nvinfer1::plugin::PriorBoxParameters") align 8 %28, i32 noundef 0, i32 noundef 0)
          to label %453 unwind label %465

453:                                              ; preds = %452
  store ptr %451, ptr %27, align 8, !tbaa !5
  %454 = load ptr, ptr %27, align 8, !tbaa !5
  %455 = getelementptr inbounds %"class.nvinfer1::pluginInternal::BaseCreator", ptr %30, i32 0, i32 1
  %456 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %455) #11
  %457 = load ptr, ptr %454, align 8, !tbaa !43
  %458 = getelementptr inbounds ptr, ptr %457, i64 15
  %459 = load ptr, ptr %458, align 8
  call void %459(ptr noundef nonnull align 8 dereferenceable(280) %454, ptr noundef %456) #11
  %460 = load ptr, ptr %27, align 8, !tbaa !5
  store ptr %460, ptr %4, align 8
  store i32 1, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #11
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #11
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #11
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #11
  br label %482

461:                                              ; preds = %450
  %462 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %463 = extractvalue { ptr, i32 } %462, 0
  store ptr %463, ptr %16, align 8
  %464 = extractvalue { ptr, i32 } %462, 1
  store i32 %464, ptr %17, align 4
  br label %469

465:                                              ; preds = %452
  %466 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %467 = extractvalue { ptr, i32 } %466, 0
  store ptr %467, ptr %16, align 8
  %468 = extractvalue { ptr, i32 } %466, 1
  store i32 %468, ptr %17, align 4
  call void @_ZdlPvm(ptr noundef %451, i64 noundef 280) #15
  br label %469

469:                                              ; preds = %465, %461
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #11
  br label %470

470:                                              ; preds = %469, %449
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #11
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #11
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #11
  br label %471

471:                                              ; preds = %470
  %472 = load i32, ptr %17, align 4
  %473 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt9exception) #11
  %474 = icmp eq i32 %472, %473
  br i1 %474, label %475, label %487

475:                                              ; preds = %471
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #11
  %476 = load ptr, ptr %16, align 8
  %477 = call ptr @__cxa_begin_catch(ptr %476) #11
  store ptr %477, ptr %29, align 8
  %478 = load ptr, ptr %29, align 8, !tbaa !5
  invoke void @_ZN8nvinfer16plugin11caughtErrorERKSt9exception(ptr noundef nonnull align 8 dereferenceable(8) %478)
          to label %479 unwind label %484

479:                                              ; preds = %475
  invoke void @__cxa_end_catch()
          to label %480 unwind label %484

480:                                              ; preds = %479
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #11
  br label %481

481:                                              ; preds = %480
  store ptr null, ptr %4, align 8
  br label %482

482:                                              ; preds = %481, %453
  %483 = load ptr, ptr %4, align 8
  ret ptr %483

484:                                              ; preds = %479, %475
  %485 = landingpad { ptr, i32 }
          catch ptr null
  %486 = extractvalue { ptr, i32 } %485, 0
  call void @__clang_call_terminate(ptr %486) #16
  unreachable

487:                                              ; preds = %471
  %488 = load ptr, ptr %16, align 8
  call void @__clang_call_terminate(ptr %488) #16
  unreachable
}

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #9

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZSt6copy_nIPKfiPfET1_T_T0_S3_(ptr noundef, i32 noundef, ptr noundef) #8

declare void @_ZN8nvinfer16plugin8PriorBoxC1ENS0_18PriorBoxParametersEii(ptr, ptr, i32, i32)

attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { noreturn "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 = { noinline noreturn nounwind uwtable "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 = { nobuiltin allocsize(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 = { nobuiltin 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 #7 = { nounwind memory(none) }
attributes #8 = { 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 #9 = { nounwind willreturn memory(read) "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 #10 = { 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 #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(read) }
attributes #13 = { noreturn }
attributes #14 = { builtin allocsize(0) }
attributes #15 = { builtin nounwind }
attributes #16 = { noreturn nounwind }

!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 = !{!10, !6, i64 8}
!10 = !{!"_ZTSN8nvinfer121PluginFieldCollectionE", !11, i64 0, !6, i64 8}
!11 = !{!"int", !7, i64 0}
!12 = !{!11, !11, i64 0}
!13 = !{!10, !11, i64 0}
!14 = !{!15, !6, i64 0}
!15 = !{!"_ZTSN8nvinfer111PluginFieldE", !6, i64 0, !6, i64 8, !16, i64 16, !11, i64 20}
!16 = !{!"_ZTSN8nvinfer115PluginFieldTypeE", !7, i64 0}
!17 = !{!15, !16, i64 16}
!18 = !{!15, !11, i64 20}
!19 = !{!20, !11, i64 24}
!20 = !{!"_ZTSN8nvinfer16plugin18PriorBoxParametersE", !6, i64 0, !6, i64 8, !6, i64 16, !11, i64 24, !11, i64 28, !11, i64 32, !21, i64 36, !21, i64 37, !7, i64 40, !11, i64 56, !11, i64 60, !22, i64 64, !22, i64 68, !22, i64 72}
!21 = !{!"bool", !7, i64 0}
!22 = !{!"float", !7, i64 0}
!23 = !{!20, !6, i64 0}
!24 = !{!15, !6, i64 8}
!25 = !{!20, !11, i64 28}
!26 = !{!20, !6, i64 8}
!27 = !{!20, !11, i64 32}
!28 = !{!20, !6, i64 16}
!29 = !{!22, !22, i64 0}
!30 = distinct !{!30, !31}
!31 = !{!"llvm.loop.mustprogress"}
!32 = !{!20, !21, i64 36}
!33 = !{!20, !21, i64 37}
!34 = !{!20, !11, i64 56}
!35 = !{!20, !11, i64 60}
!36 = !{!20, !22, i64 64}
!37 = !{!20, !22, i64 68}
!38 = !{!20, !22, i64 72}
!39 = distinct !{!39, !31}
!40 = !{i64 0, i64 8, !5, i64 8, i64 8, !5, i64 16, i64 8, !5, i64 24, i64 4, !12, i64 28, i64 4, !12, i64 32, i64 4, !12, i64 36, i64 1, !41, i64 37, i64 1, !41, i64 40, i64 16, !42, i64 56, i64 4, !12, i64 60, i64 4, !12, i64 64, i64 4, !29, i64 68, i64 4, !29, i64 72, i64 4, !29}
!41 = !{!21, !21, i64 0}
!42 = !{!7, !7, i64 0}
!43 = !{!44, !44, i64 0}
!44 = !{!"vtable pointer", !8, i64 0}


; 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.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.nvinfer1::plugin::PriorBoxParameters" = type { ptr, ptr, ptr, i32, i32, i32, i8, i8, [4 x float], i32, i32, float, float, float }
%"class.nvinfer1::PluginField" = type { ptr, ptr, i32, i32 }

@.str = external hidden unnamed_addr constant [90 x i8], align 1
@_ZTISt9exception = external constant ptr
@.str.26 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [7 x i8], align 1
@__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE = external hidden unnamed_addr constant [13 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [42 x i8], align 1

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

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

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) #1

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

; Function Attrs: noreturn
declare void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) local_unnamed_addr #3

declare ptr @__cxa_begin_catch(ptr) local_unnamed_addr

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #4

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0 align 2

; Function Attrs: nofree nosync nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin11caughtErrorERKSt9exception(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7

declare void @__cxa_end_catch() local_unnamed_addr

; Function Attrs: mustprogress nounwind uwtable
define dso_local noundef ptr @_ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr nocapture noundef readnone %1, ptr nocapture noundef readonly %2) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::vector.0", align 8
  %5 = alloca %"class.std::vector.0", align 8
  %6 = alloca %"class.std::vector.0", align 8
  %7 = alloca %"struct.nvinfer1::plugin::PriorBoxParameters", align 8
  %8 = getelementptr inbounds i8, ptr %2, i64 8
  %9 = load ptr, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #10
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #10
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #10
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #10
  %10 = load i32, ptr %2, align 8, !tbaa !11
  %11 = icmp sgt i32 %10, 0
  br i1 %11, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %.loopexit, %3
  %.sroa.97.0 = phi float [ undef, %3 ], [ %.sroa.97.2, %.loopexit ]
  %.sroa.96.0 = phi float [ undef, %3 ], [ %.sroa.96.2, %.loopexit ]
  %.sroa.76.0 = phi i32 [ undef, %3 ], [ %180, %.loopexit ]
  %.sroa.56.0 = phi i32 [ undef, %3 ], [ %179, %.loopexit ]
  %.sroa.98.0 = phi float [ undef, %3 ], [ %.sroa.98.2, %.loopexit ]
  %.sroa.32.0 = phi i8 [ undef, %3 ], [ %178, %.loopexit ]
  %.sroa.31.0 = phi i8 [ undef, %3 ], [ %.sroa.31.2, %.loopexit ]
  %.sroa.30.0 = phi i32 [ undef, %3 ], [ %.sroa.30.2, %.loopexit ]
  %.sroa.29.0 = phi i32 [ undef, %3 ], [ %.sroa.29.2, %.loopexit ]
  %.sroa.28.0 = phi i32 [ undef, %3 ], [ %.sroa.28.2, %.loopexit ]
  %.sroa.26.0 = phi ptr [ undef, %3 ], [ %.sroa.26.2, %.loopexit ]
  %.sroa.24.0 = phi ptr [ undef, %3 ], [ %.sroa.24.2, %.loopexit ]
  %.lcssa = phi ptr [ undef, %3 ], [ %181, %.loopexit ]
  %12 = phi <4 x float> [ undef, %3 ], [ %182, %.loopexit ]
  %13 = invoke noalias noundef nonnull dereferenceable(280) ptr @_Znwm(i64 noundef 280) #11
          to label %186 unwind label %193

.lr.ph:                                           ; preds = %3, %.loopexit
  %.sroa.97.1 = phi float [ %.sroa.97.2, %.loopexit ], [ undef, %3 ]
  %.sroa.96.1 = phi float [ %.sroa.96.2, %.loopexit ], [ undef, %3 ]
  %.sroa.98.1 = phi float [ %.sroa.98.2, %.loopexit ], [ undef, %3 ]
  %.sroa.31.1 = phi i8 [ %.sroa.31.2, %.loopexit ], [ undef, %3 ]
  %.sroa.30.1 = phi i32 [ %.sroa.30.2, %.loopexit ], [ undef, %3 ]
  %.sroa.29.1 = phi i32 [ %.sroa.29.2, %.loopexit ], [ undef, %3 ]
  %.sroa.28.1 = phi i32 [ %.sroa.28.2, %.loopexit ], [ undef, %3 ]
  %.sroa.26.1 = phi ptr [ %.sroa.26.2, %.loopexit ], [ undef, %3 ]
  %.sroa.24.1 = phi ptr [ %.sroa.24.2, %.loopexit ], [ undef, %3 ]
  %indvars.iv = phi i64 [ %indvars.iv.next, %.loopexit ], [ 0, %3 ]
  %14 = phi i8 [ %178, %.loopexit ], [ undef, %3 ]
  %15 = phi i32 [ %179, %.loopexit ], [ undef, %3 ]
  %16 = phi i32 [ %180, %.loopexit ], [ undef, %3 ]
  %17 = phi ptr [ %181, %.loopexit ], [ undef, %3 ]
  %18 = phi <4 x float> [ %182, %.loopexit ], [ undef, %3 ]
  %19 = getelementptr inbounds %"class.nvinfer1::PluginField", ptr %9, i64 %indvars.iv
  %20 = load ptr, ptr %19, align 8, !tbaa !12
  %21 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.26) #12
  %.not = icmp eq i32 %21, 0
  br i1 %.not, label %22, label %43

22:                                               ; preds = %.lr.ph
  %23 = getelementptr inbounds i8, ptr %19, i64 16
  %24 = load i32, ptr %23, align 8, !tbaa !15
  %25 = icmp eq i32 %24, 1
  br i1 %25, label %28, label %.invoke

26:                                               ; preds = %.invoke
  %27 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %197

28:                                               ; preds = %22
  %29 = getelementptr inbounds i8, ptr %19, i64 20
  %30 = load i32, ptr %29, align 4, !tbaa !16
  %31 = icmp sgt i32 %30, 0
  br i1 %31, label %32, label %.loopexit

32:                                               ; preds = %28
  %33 = zext nneg i32 %30 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %33)
          to label %34 unwind label %39

34:                                               ; preds = %32
  %35 = call noundef ptr @_ZNSt6vectorIfSaIfEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #10
  %36 = getelementptr inbounds i8, ptr %19, i64 8
  %37 = load ptr, ptr %36, align 8, !tbaa !17
  %38 = invoke noundef ptr @_ZSt6copy_nIPKfiPfET1_T_T0_S3_(ptr noundef %37, i32 noundef %30, ptr noundef %35)
          to label %.loopexit unwind label %41

39:                                               ; preds = %32
  %40 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %197

41:                                               ; preds = %34
  %42 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %197

43:                                               ; preds = %.lr.ph
  %44 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.27) #12
  %.not115 = icmp eq i32 %44, 0
  br i1 %.not115, label %45, label %64

45:                                               ; preds = %43
  %46 = getelementptr inbounds i8, ptr %19, i64 16
  %47 = load i32, ptr %46, align 8, !tbaa !15
  %48 = icmp eq i32 %47, 1
  br i1 %48, label %49, label %.invoke

49:                                               ; preds = %45
  %50 = getelementptr inbounds i8, ptr %19, i64 20
  %51 = load i32, ptr %50, align 4, !tbaa !16
  %52 = icmp sgt i32 %51, 0
  br i1 %52, label %53, label %.loopexit

53:                                               ; preds = %49
  %54 = zext nneg i32 %51 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %54)
          to label %55 unwind label %60

55:                                               ; preds = %53
  %56 = call noundef ptr @_ZNSt6vectorIfSaIfEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #10
  %57 = getelementptr inbounds i8, ptr %19, i64 8
  %58 = load ptr, ptr %57, align 8, !tbaa !17
  %59 = invoke noundef ptr @_ZSt6copy_nIPKfiPfET1_T_T0_S3_(ptr noundef %58, i32 noundef %51, ptr noundef %56)
          to label %.loopexit unwind label %62

60:                                               ; preds = %53
  %61 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %197

62:                                               ; preds = %55
  %63 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %197

64:                                               ; preds = %43
  %65 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.28) #12
  %.not118 = icmp eq i32 %65, 0
  br i1 %.not118, label %66, label %85

66:                                               ; preds = %64
  %67 = getelementptr inbounds i8, ptr %19, i64 16
  %68 = load i32, ptr %67, align 8, !tbaa !15
  %69 = icmp eq i32 %68, 1
  br i1 %69, label %70, label %.invoke

70:                                               ; preds = %66
  %71 = getelementptr inbounds i8, ptr %19, i64 20
  %72 = load i32, ptr %71, align 4, !tbaa !16
  %73 = icmp sgt i32 %72, 0
  br i1 %73, label %74, label %.loopexit

74:                                               ; preds = %70
  %75 = zext nneg i32 %72 to i64
  invoke void @_ZNSt6vectorIfSaIfEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %75)
          to label %76 unwind label %81

76:                                               ; preds = %74
  %77 = call noundef ptr @_ZNSt6vectorIfSaIfEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #10
  %78 = getelementptr inbounds i8, ptr %19, i64 8
  %79 = load ptr, ptr %78, align 8, !tbaa !17
  %80 = invoke noundef ptr @_ZSt6copy_nIPKfiPfET1_T_T0_S3_(ptr noundef %79, i32 noundef %72, ptr noundef %77)
          to label %.loopexit unwind label %83

81:                                               ; preds = %74
  %82 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %197

83:                                               ; preds = %76
  %84 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %197

85:                                               ; preds = %64
  %86 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.31) #12
  %.not121 = icmp eq i32 %86, 0
  br i1 %.not121, label %87, label %102

87:                                               ; preds = %85
  %88 = getelementptr inbounds i8, ptr %19, i64 16
  %89 = load i32, ptr %88, align 8, !tbaa !15
  %90 = icmp eq i32 %89, 1
  br i1 %90, label %91, label %.invoke

91:                                               ; preds = %87
  %92 = getelementptr inbounds i8, ptr %19, i64 20
  %93 = load i32, ptr %92, align 4, !tbaa !16
  %94 = icmp eq i32 %93, 4
  br i1 %94, label %.loopexit.loopexit, label %95

95:                                               ; preds = %91
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef nonnull @.str, ptr noundef nonnull @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef 468, i32 noundef 0, ptr noundef nonnull @.str.38) #13
          to label %96 unwind label %97

96:                                               ; preds = %95
  unreachable

97:                                               ; preds = %95
  %98 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %197

.loopexit.loopexit:                               ; preds = %91
  %99 = getelementptr inbounds i8, ptr %19, i64 8
  %100 = load ptr, ptr %99, align 8, !tbaa !17
  %101 = load <4 x float>, ptr %100, align 4, !tbaa !18
  br label %.loopexit

102:                                              ; preds = %85
  %103 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.29) #12
  %.not122 = icmp eq i32 %103, 0
  br i1 %.not122, label %104, label %114

104:                                              ; preds = %102
  %105 = getelementptr inbounds i8, ptr %19, i64 16
  %106 = load i32, ptr %105, align 8, !tbaa !15
  %107 = icmp eq i32 %106, 5
  br i1 %107, label %108, label %.invoke

108:                                              ; preds = %104
  %109 = getelementptr inbounds i8, ptr %19, i64 8
  %110 = load ptr, ptr %109, align 8, !tbaa !17
  %111 = load i32, ptr %110, align 4, !tbaa !20
  %112 = icmp ne i32 %111, 0
  %113 = zext i1 %112 to i8
  br label %.loopexit

114:                                              ; preds = %102
  %115 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.30) #12
  %.not123 = icmp eq i32 %115, 0
  br i1 %.not123, label %116, label %126

116:                                              ; preds = %114
  %117 = getelementptr inbounds i8, ptr %19, i64 16
  %118 = load i32, ptr %117, align 8, !tbaa !15
  %119 = icmp eq i32 %118, 5
  br i1 %119, label %120, label %.invoke

120:                                              ; preds = %116
  %121 = getelementptr inbounds i8, ptr %19, i64 8
  %122 = load ptr, ptr %121, align 8, !tbaa !17
  %123 = load i32, ptr %122, align 4, !tbaa !20
  %124 = icmp ne i32 %123, 0
  %125 = zext i1 %124 to i8
  br label %.loopexit

126:                                              ; preds = %114
  %127 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.32) #12
  %.not124 = icmp eq i32 %127, 0
  br i1 %.not124, label %128, label %136

128:                                              ; preds = %126
  %129 = getelementptr inbounds i8, ptr %19, i64 16
  %130 = load i32, ptr %129, align 8, !tbaa !15
  %131 = icmp eq i32 %130, 5
  br i1 %131, label %132, label %.invoke

132:                                              ; preds = %128
  %133 = getelementptr inbounds i8, ptr %19, i64 8
  %134 = load ptr, ptr %133, align 8, !tbaa !17
  %135 = load i32, ptr %134, align 4, !tbaa !20
  br label %.loopexit

136:                                              ; preds = %126
  %137 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.33) #12
  %.not125 = icmp eq i32 %137, 0
  br i1 %.not125, label %138, label %146

138:                                              ; preds = %136
  %139 = getelementptr inbounds i8, ptr %19, i64 16
  %140 = load i32, ptr %139, align 8, !tbaa !15
  %141 = icmp eq i32 %140, 5
  br i1 %141, label %142, label %.invoke

142:                                              ; preds = %138
  %143 = getelementptr inbounds i8, ptr %19, i64 8
  %144 = load ptr, ptr %143, align 8, !tbaa !17
  %145 = load i32, ptr %144, align 4, !tbaa !20
  br label %.loopexit

146:                                              ; preds = %136
  %147 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.34) #12
  %.not126 = icmp eq i32 %147, 0
  br i1 %.not126, label %148, label %156

148:                                              ; preds = %146
  %149 = getelementptr inbounds i8, ptr %19, i64 16
  %150 = load i32, ptr %149, align 8, !tbaa !15
  %151 = icmp eq i32 %150, 1
  br i1 %151, label %152, label %.invoke

152:                                              ; preds = %148
  %153 = getelementptr inbounds i8, ptr %19, i64 8
  %154 = load ptr, ptr %153, align 8, !tbaa !17
  %155 = load float, ptr %154, align 4, !tbaa !18
  br label %.loopexit

156:                                              ; preds = %146
  %157 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.35) #12
  %.not127 = icmp eq i32 %157, 0
  br i1 %.not127, label %158, label %166

158:                                              ; preds = %156
  %159 = getelementptr inbounds i8, ptr %19, i64 16
  %160 = load i32, ptr %159, align 8, !tbaa !15
  %161 = icmp eq i32 %160, 1
  br i1 %161, label %162, label %.invoke

162:                                              ; preds = %158
  %163 = getelementptr inbounds i8, ptr %19, i64 8
  %164 = load ptr, ptr %163, align 8, !tbaa !17
  %165 = load float, ptr %164, align 4, !tbaa !18
  br label %.loopexit

166:                                              ; preds = %156
  %167 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %20, ptr noundef nonnull dereferenceable(1) @.str.36) #12
  %.not128 = icmp eq i32 %167, 0
  br i1 %.not128, label %168, label %.loopexit

168:                                              ; preds = %166
  %169 = getelementptr inbounds i8, ptr %19, i64 16
  %170 = load i32, ptr %169, align 8, !tbaa !15
  %171 = icmp eq i32 %170, 1
  br i1 %171, label %174, label %.invoke

.invoke:                                          ; preds = %22, %168, %158, %148, %138, %128, %116, %104, %87, %66, %45
  %172 = phi i32 [ 432, %45 ], [ 449, %66 ], [ 466, %87 ], [ 478, %104 ], [ 483, %116 ], [ 488, %128 ], [ 493, %138 ], [ 498, %148 ], [ 503, %158 ], [ 508, %168 ], [ 415, %22 ]
  %173 = phi ptr [ @.str.37, %45 ], [ @.str.37, %66 ], [ @.str.37, %87 ], [ @.str.39, %104 ], [ @.str.39, %116 ], [ @.str.39, %128 ], [ @.str.39, %138 ], [ @.str.37, %148 ], [ @.str.37, %158 ], [ @.str.37, %168 ], [ @.str.37, %22 ]
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef nonnull @.str, ptr noundef nonnull @__func__._ZN8nvinfer16plugin21PriorBoxPluginCreator12createPluginEPKcPKNS_21PluginFieldCollectionE, i32 noundef %172, i32 noundef 0, ptr noundef nonnull %173) #13
          to label %.cont unwind label %26

.cont:                                            ; preds = %.invoke
  unreachable

174:                                              ; preds = %168
  %175 = getelementptr inbounds i8, ptr %19, i64 8
  %176 = load ptr, ptr %175, align 8, !tbaa !17
  %177 = load float, ptr %176, align 4, !tbaa !18
  br label %.loopexit

.loopexit:                                        ; preds = %70, %49, %.loopexit.loopexit, %28, %76, %55, %34, %120, %142, %162, %174, %166, %152, %132, %108
  %.sroa.97.2 = phi float [ %.sroa.97.1, %34 ], [ %.sroa.97.1, %28 ], [ %.sroa.97.1, %55 ], [ %.sroa.97.1, %76 ], [ %.sroa.97.1, %.loopexit.loopexit ], [ %.sroa.97.1, %108 ], [ %.sroa.97.1, %120 ], [ %.sroa.97.1, %132 ], [ %.sroa.97.1, %142 ], [ %.sroa.97.1, %152 ], [ %165, %162 ], [ %.sroa.97.1, %174 ], [ %.sroa.97.1, %166 ], [ %.sroa.97.1, %49 ], [ %.sroa.97.1, %70 ]
  %.sroa.96.2 = phi float [ %.sroa.96.1, %34 ], [ %.sroa.96.1, %28 ], [ %.sroa.96.1, %55 ], [ %.sroa.96.1, %76 ], [ %.sroa.96.1, %.loopexit.loopexit ], [ %.sroa.96.1, %108 ], [ %.sroa.96.1, %120 ], [ %.sroa.96.1, %132 ], [ %.sroa.96.1, %142 ], [ %155, %152 ], [ %.sroa.96.1, %162 ], [ %.sroa.96.1, %174 ], [ %.sroa.96.1, %166 ], [ %.sroa.96.1, %49 ], [ %.sroa.96.1, %70 ]
  %.sroa.98.2 = phi float [ %.sroa.98.1, %34 ], [ %.sroa.98.1, %28 ], [ %.sroa.98.1, %55 ], [ %.sroa.98.1, %76 ], [ %.sroa.98.1, %.loopexit.loopexit ], [ %.sroa.98.1, %108 ], [ %.sroa.98.1, %120 ], [ %.sroa.98.1, %132 ], [ %.sroa.98.1, %142 ], [ %.sroa.98.1, %152 ], [ %.sroa.98.1, %162 ], [ %177, %174 ], [ %.sroa.98.1, %166 ], [ %.sroa.98.1, %49 ], [ %.sroa.98.1, %70 ]
  %.sroa.31.2 = phi i8 [ %.sroa.31.1, %34 ], [ %.sroa.31.1, %28 ], [ %.sroa.31.1, %55 ], [ %.sroa.31.1, %76 ], [ %.sroa.31.1, %.loopexit.loopexit ], [ %113, %108 ], [ %.sroa.31.1, %120 ], [ %.sroa.31.1, %132 ], [ %.sroa.31.1, %142 ], [ %.sroa.31.1, %152 ], [ %.sroa.31.1, %162 ], [ %.sroa.31.1, %174 ], [ %.sroa.31.1, %166 ], [ %.sroa.31.1, %49 ], [ %.sroa.31.1, %70 ]
  %.sroa.30.2 = phi i32 [ %.sroa.30.1, %34 ], [ %.sroa.30.1, %28 ], [ %.sroa.30.1, %55 ], [ %72, %76 ], [ %.sroa.30.1, %.loopexit.loopexit ], [ %.sroa.30.1, %108 ], [ %.sroa.30.1, %120 ], [ %.sroa.30.1, %132 ], [ %.sroa.30.1, %142 ], [ %.sroa.30.1, %152 ], [ %.sroa.30.1, %162 ], [ %.sroa.30.1, %174 ], [ %.sroa.30.1, %166 ], [ %.sroa.30.1, %49 ], [ %72, %70 ]
  %.sroa.29.2 = phi i32 [ %.sroa.29.1, %34 ], [ %.sroa.29.1, %28 ], [ %51, %55 ], [ %.sroa.29.1, %76 ], [ %.sroa.29.1, %.loopexit.loopexit ], [ %.sroa.29.1, %108 ], [ %.sroa.29.1, %120 ], [ %.sroa.29.1, %132 ], [ %.sroa.29.1, %142 ], [ %.sroa.29.1, %152 ], [ %.sroa.29.1, %162 ], [ %.sroa.29.1, %174 ], [ %.sroa.29.1, %166 ], [ %51, %49 ], [ %.sroa.29.1, %70 ]
  %.sroa.28.2 = phi i32 [ %30, %34 ], [ %30, %28 ], [ %.sroa.28.1, %55 ], [ %.sroa.28.1, %76 ], [ %.sroa.28.1, %.loopexit.loopexit ], [ %.sroa.28.1, %108 ], [ %.sroa.28.1, %120 ], [ %.sroa.28.1, %132 ], [ %.sroa.28.1, %142 ], [ %.sroa.28.1, %152 ], [ %.sroa.28.1, %162 ], [ %.sroa.28.1, %174 ], [ %.sroa.28.1, %166 ], [ %.sroa.28.1, %49 ], [ %.sroa.28.1, %70 ]
  %.sroa.26.2 = phi ptr [ %.sroa.26.1, %34 ], [ %.sroa.26.1, %28 ], [ %.sroa.26.1, %55 ], [ %77, %76 ], [ %.sroa.26.1, %.loopexit.loopexit ], [ %.sroa.26.1, %108 ], [ %.sroa.26.1, %120 ], [ %.sroa.26.1, %132 ], [ %.sroa.26.1, %142 ], [ %.sroa.26.1, %152 ], [ %.sroa.26.1, %162 ], [ %.sroa.26.1, %174 ], [ %.sroa.26.1, %166 ], [ %.sroa.26.1, %49 ], [ null, %70 ]
  %.sroa.24.2 = phi ptr [ %.sroa.24.1, %34 ], [ %.sroa.24.1, %28 ], [ %56, %55 ], [ %.sroa.24.1, %76 ], [ %.sroa.24.1, %.loopexit.loopexit ], [ %.sroa.24.1, %108 ], [ %.sroa.24.1, %120 ], [ %.sroa.24.1, %132 ], [ %.sroa.24.1, %142 ], [ %.sroa.24.1, %152 ], [ %.sroa.24.1, %162 ], [ %.sroa.24.1, %174 ], [ %.sroa.24.1, %166 ], [ null, %49 ], [ %.sroa.24.1, %70 ]
  %178 = phi i8 [ %14, %34 ], [ %14, %28 ], [ %14, %55 ], [ %14, %76 ], [ %14, %.loopexit.loopexit ], [ %14, %108 ], [ %125, %120 ], [ %14, %132 ], [ %14, %142 ], [ %14, %152 ], [ %14, %162 ], [ %14, %174 ], [ %14, %166 ], [ %14, %49 ], [ %14, %70 ]
  %179 = phi i32 [ %15, %34 ], [ %15, %28 ], [ %15, %55 ], [ %15, %76 ], [ %15, %.loopexit.loopexit ], [ %15, %108 ], [ %15, %120 ], [ %135, %132 ], [ %15, %142 ], [ %15, %152 ], [ %15, %162 ], [ %15, %174 ], [ %15, %166 ], [ %15, %49 ], [ %15, %70 ]
  %180 = phi i32 [ %16, %34 ], [ %16, %28 ], [ %16, %55 ], [ %16, %76 ], [ %16, %.loopexit.loopexit ], [ %16, %108 ], [ %16, %120 ], [ %16, %132 ], [ %145, %142 ], [ %16, %152 ], [ %16, %162 ], [ %16, %174 ], [ %16, %166 ], [ %16, %49 ], [ %16, %70 ]
  %181 = phi ptr [ %35, %34 ], [ null, %28 ], [ %17, %55 ], [ %17, %76 ], [ %17, %.loopexit.loopexit ], [ %17, %108 ], [ %17, %120 ], [ %17, %132 ], [ %17, %142 ], [ %17, %152 ], [ %17, %162 ], [ %17, %174 ], [ %17, %166 ], [ %17, %49 ], [ %17, %70 ]
  %182 = phi <4 x float> [ %18, %34 ], [ %18, %28 ], [ %18, %55 ], [ %18, %76 ], [ %101, %.loopexit.loopexit ], [ %18, %108 ], [ %18, %120 ], [ %18, %132 ], [ %18, %142 ], [ %18, %152 ], [ %18, %162 ], [ %18, %174 ], [ %18, %166 ], [ %18, %49 ], [ %18, %70 ]
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %183 = load i32, ptr %2, align 8, !tbaa !11
  %184 = sext i32 %183 to i64
  %185 = icmp slt i64 %indvars.iv.next, %184
  br i1 %185, label %.lr.ph, label %._crit_edge, !llvm.loop !21

186:                                              ; preds = %._crit_edge
  store ptr %.lcssa, ptr %7, align 8, !tbaa !23
  %.sroa.24.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 8
  store ptr %.sroa.24.0, ptr %.sroa.24.0..sroa_idx, align 8, !tbaa !23
  %.sroa.26.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 16
  store ptr %.sroa.26.0, ptr %.sroa.26.0..sroa_idx, align 8, !tbaa !23
  %.sroa.28.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 24
  store i32 %.sroa.28.0, ptr %.sroa.28.0..sroa_idx, align 8, !tbaa !20
  %.sroa.29.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 28
  store i32 %.sroa.29.0, ptr %.sroa.29.0..sroa_idx, align 4, !tbaa !20
  %.sroa.30.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 32
  store i32 %.sroa.30.0, ptr %.sroa.30.0..sroa_idx, align 8, !tbaa !20
  %.sroa.31.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 36
  store i8 %.sroa.31.0, ptr %.sroa.31.0..sroa_idx, align 4, !tbaa !24
  %.sroa.32.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 37
  store i8 %.sroa.32.0, ptr %.sroa.32.0..sroa_idx, align 1, !tbaa !24
  %.sroa.52295.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 40
  store <4 x float> %12, ptr %.sroa.52295.0..sroa_idx, align 8
  %.sroa.56.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 56
  store i32 %.sroa.56.0, ptr %.sroa.56.0..sroa_idx, align 8, !tbaa !20
  %.sroa.76.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 60
  store i32 %.sroa.76.0, ptr %.sroa.76.0..sroa_idx, align 4, !tbaa !20
  %.sroa.96.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 64
  store float %.sroa.96.0, ptr %.sroa.96.0..sroa_idx, align 8, !tbaa !18
  %.sroa.97.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 68
  store float %.sroa.97.0, ptr %.sroa.97.0..sroa_idx, align 4, !tbaa !18
  %.sroa.98.0..sroa_idx = getelementptr inbounds i8, ptr %7, i64 72
  store float %.sroa.98.0, ptr %.sroa.98.0..sroa_idx, align 8, !tbaa !18
  invoke void @_ZN8nvinfer16plugin8PriorBoxC1ENS0_18PriorBoxParametersEii(ptr noundef nonnull align 8 dereferenceable(280) %13, ptr noundef nonnull byval(%"struct.nvinfer1::plugin::PriorBoxParameters") align 8 %7, i32 noundef 0, i32 noundef 0)
          to label %187 unwind label %195

187:                                              ; preds = %186
  %188 = getelementptr inbounds i8, ptr %0, i64 8
  %189 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %188) #10
  %190 = load ptr, ptr %13, align 8, !tbaa !26
  %191 = getelementptr inbounds i8, ptr %190, i64 120
  %192 = load ptr, ptr %191, align 8
  call void %192(ptr noundef nonnull align 8 dereferenceable(280) %13, ptr noundef %189) #10
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #10
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #10
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #10
  br label %203

193:                                              ; preds = %._crit_edge
  %194 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %197

195:                                              ; preds = %186
  %196 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  call void @_ZdlPvm(ptr noundef nonnull %13, i64 noundef 280) #14
  br label %197

197:                                              ; preds = %193, %195, %26, %97, %41, %39, %62, %60, %83, %81
  %.pn129.pn = phi { ptr, i32 } [ %27, %26 ], [ %98, %97 ], [ %42, %41 ], [ %40, %39 ], [ %63, %62 ], [ %61, %60 ], [ %84, %83 ], [ %82, %81 ], [ %196, %195 ], [ %194, %193 ]
  %.5 = extractvalue { ptr, i32 } %.pn129.pn, 0
  %.5107 = extractvalue { ptr, i32 } %.pn129.pn, 1
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #10
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #10
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #10
  %198 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt9exception) #10
  %199 = icmp eq i32 %.5107, %198
  br i1 %199, label %200, label %207

200:                                              ; preds = %197
  %201 = call ptr @__cxa_begin_catch(ptr %.5) #10
  invoke void @_ZN8nvinfer16plugin11caughtErrorERKSt9exception(ptr noundef nonnull align 8 dereferenceable(8) %201)
          to label %202 unwind label %204

202:                                              ; preds = %200
  invoke void @__cxa_end_catch()
          to label %203 unwind label %204

203:                                              ; preds = %202, %187
  %.0 = phi ptr [ %13, %187 ], [ null, %202 ]
  ret ptr %.0

204:                                              ; preds = %202, %200
  %205 = landingpad { ptr, i32 }
          catch ptr null
  %206 = extractvalue { ptr, i32 } %205, 0
  call void @__clang_call_terminate(ptr %206) #15
  unreachable

207:                                              ; preds = %197
  call void @__clang_call_terminate(ptr %.5) #15
  unreachable
}

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #8

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZSt6copy_nIPKfiPfET1_T_T0_S3_(ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN8nvinfer16plugin8PriorBoxC1ENS0_18PriorBoxParametersEii(ptr, ptr, i32, i32) local_unnamed_addr

attributes #0 = { 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 #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { noreturn "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 = { noinline noreturn nounwind uwtable "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 = { nobuiltin allocsize(0) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nobuiltin 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 #6 = { nofree nosync nounwind memory(none) }
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 = { mustprogress nofree nounwind willreturn memory(argmem: read) "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 #9 = { 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 #10 = { nounwind }
attributes #11 = { builtin allocsize(0) }
attributes #12 = { nounwind willreturn memory(read) }
attributes #13 = { noreturn }
attributes #14 = { builtin nounwind }
attributes #15 = { noreturn nounwind }

!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, !10, i64 8}
!6 = !{!"_ZTSN8nvinfer121PluginFieldCollectionE", !7, i64 0, !10, i64 8}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!6, !7, i64 0}
!12 = !{!13, !10, i64 0}
!13 = !{!"_ZTSN8nvinfer111PluginFieldE", !10, i64 0, !10, i64 8, !14, i64 16, !7, i64 20}
!14 = !{!"_ZTSN8nvinfer115PluginFieldTypeE", !8, i64 0}
!15 = !{!13, !14, i64 16}
!16 = !{!13, !7, i64 20}
!17 = !{!13, !10, i64 8}
!18 = !{!19, !19, i64 0}
!19 = !{!"float", !8, i64 0}
!20 = !{!7, !7, i64 0}
!21 = distinct !{!21, !22}
!22 = !{!"llvm.loop.mustprogress"}
!23 = !{!10, !10, i64 0}
!24 = !{!25, !25, i64 0}
!25 = !{!"bool", !8, i64 0}
!26 = !{!27, !27, i64 0}
!27 = !{!"vtable pointer", !9, i64 0}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass