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

; 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.nvinfer1::plugin::LogStream" = type { %"class.std::basic_ostream.base", %"class.nvinfer1::plugin::LogStream<nvinfer1::ILogger::Severity::kVERBOSE>::Buf", %"class.std::mutex", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.nvinfer1::plugin::LogStream<nvinfer1::ILogger::Severity::kVERBOSE>::Buf" = type { %"class.std::__cxx11::basic_stringbuf" }
%"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::mutex" = type { %"class.std::__mutex_base" }
%"class.std::__mutex_base" = type { %union.pthread_mutex_t }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.nvinfer1::plugin::LogStream.11" = type { %"class.std::basic_ostream.base", %"class.nvinfer1::plugin::LogStream<nvinfer1::ILogger::Severity::kWARNING>::Buf", %"class.std::mutex", %"class.std::basic_ios" }
%"class.nvinfer1::plugin::LogStream<nvinfer1::ILogger::Severity::kWARNING>::Buf" = type { %"class.std::__cxx11::basic_stringbuf" }
%"struct.nvinfer1::plugin::bert::Gemm" = type { ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8, i8, i32, i32, i32, float, float }
%"struct.nvinfer1::plugin::bert::Gemm.10" = type <{ ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8, i8, [2 x i8], i32, i32, i32, %struct.__half, %struct.__half, [4 x i8] }>
%struct.__half = type { i16 }
%"class.std::allocator.0" = type { i8 }
%"class.nvinfer1::pluginInternal::SharedStream" = type { %"class.nvinfer1::v_1_0::IPluginResource", ptr }
%"class.nvinfer1::v_1_0::IPluginResource" = type { %"class.nvinfer1::IVersionedInterface" }
%"class.nvinfer1::IVersionedInterface" = type { ptr }
%"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo" = type { [8 x i64] }
%"struct.nvinfer1::plugin::bert::AlgoProps" = type { i32, i32, i32, i32, i32, i32, i64 }
%"class.nvinfer1::plugin::bert::FCPluginDynamic" = type { %"class.nvinfer1::IPluginV2DynamicExt", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i64, i64, i32, i32, %"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo", %"struct.nvinfer1::plugin::bert::WeightsWithOwnership", %"class.std::unique_ptr", %"struct.nvinfer1::plugin::bert::LtContext", ptr }
%"class.nvinfer1::IPluginV2DynamicExt" = type { %"class.nvinfer1::IPluginV2Ext" }
%"class.nvinfer1::IPluginV2Ext" = type { %"class.nvinfer1::IPluginV2" }
%"class.nvinfer1::IPluginV2" = type { ptr }
%"struct.nvinfer1::plugin::bert::WeightsWithOwnership" = type { %"class.nvinfer1::Weights" }
%"class.nvinfer1::Weights" = type { i32, ptr, i64 }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.9" }
%"struct.std::_Head_base.9" = type { ptr }
%"struct.nvinfer1::plugin::bert::LtContext" = type { ptr, ptr, i32, i32, i32, i32, i32, ptr, ptr, ptr, ptr, %"struct.nvinfer1::pluginInternal::cublasLtMatmulHeuristicResult" }
%"struct.nvinfer1::pluginInternal::cublasLtMatmulHeuristicResult" = type { %"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo", i64, i32, float, [4 x i32] }
%"struct.nvinfer1::DynamicPluginTensorDesc" = type { %"struct.nvinfer1::PluginTensorDesc", %"class.nvinfer1::Dims64", %"class.nvinfer1::Dims64", %"class.nvinfer1::Dims64" }
%"struct.nvinfer1::PluginTensorDesc" = type { %"class.nvinfer1::Dims64", i32, i32, float }
%"class.nvinfer1::Dims64" = type { i32, [8 x i64] }

@.str = external hidden unnamed_addr constant [78 x i8], align 1
@_ZN8nvinfer16plugin11gLogVerboseE = external global %"class.nvinfer1::plugin::LogStream", align 8
@_ZTISt9exception = external constant ptr
@.str.6 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [15 x i8], align 1
@__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i = external hidden unnamed_addr constant [16 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZN8nvinfer16plugin11gLogWarningE = external global %"class.nvinfer1::plugin::LogStream.11", align 8
@.str.22 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [3 x i8], align 1
@_ZN8nvinfer16plugin4bertL14matmulTileNameE = external hidden constant [26 x ptr], align 16
@.str.27 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [5 x i8], align 1

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152), i32 noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #2

declare i32 @__gxx_personality_v0(...)

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

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

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

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

declare ptr @__cxa_begin_catch(ptr)

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

declare void @__cxa_end_catch()

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

; Function Attrs: mustprogress nounwind uwtable
define dso_local void @_ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef %1, i32 noundef %2, ptr noundef %3, i32 noundef %4) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca %"struct.nvinfer1::plugin::bert::Gemm", align 8
  %17 = alloca %"struct.nvinfer1::plugin::bert::Gemm.10", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator.0", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca i64, align 8
  %23 = alloca %"class.nvinfer1::pluginInternal::SharedStream", align 8
  %24 = alloca %"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo", align 8
  %25 = alloca %"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo", align 8
  %26 = alloca %"struct.nvinfer1::plugin::bert::AlgoProps", align 8
  %27 = alloca ptr, align 8
  store ptr %0, ptr %6, align 8, !tbaa !5
  store ptr %1, ptr %7, align 8, !tbaa !5
  store i32 %2, ptr %8, align 4, !tbaa !9
  store ptr %3, ptr %9, align 8, !tbaa !5
  store i32 %4, ptr %10, align 4, !tbaa !9
  %28 = load ptr, ptr %6, align 8
  %29 = load i32, ptr %10, align 4, !tbaa !9
  %30 = icmp eq i32 %29, 1
  br i1 %30, label %37, label %31

31:                                               ; preds = %5
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef 477, i32 noundef 0, ptr noundef @.str.9) #11
          to label %32 unwind label %33

32:                                               ; preds = %31
  unreachable

33:                                               ; preds = %61, %50, %45, %40, %31
  %34 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %35 = extractvalue { ptr, i32 } %34, 0
  store ptr %35, ptr %11, align 8
  %36 = extractvalue { ptr, i32 } %34, 1
  store i32 %36, ptr %12, align 4
  br label %372

37:                                               ; preds = %5
  %38 = load i32, ptr %8, align 4, !tbaa !9
  %39 = icmp eq i32 %38, 1
  br i1 %39, label %42, label %40

40:                                               ; preds = %37
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef 478, i32 noundef 0, ptr noundef @.str.6) #11
          to label %41 unwind label %33

41:                                               ; preds = %40
  unreachable

42:                                               ; preds = %37
  %43 = load ptr, ptr %7, align 8, !tbaa !5
  %44 = icmp ne ptr %43, null
  br i1 %44, label %47, label %45

45:                                               ; preds = %42
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef 479, i32 noundef 0, ptr noundef @.str.8) #11
          to label %46 unwind label %33

46:                                               ; preds = %45
  unreachable

47:                                               ; preds = %42
  %48 = load ptr, ptr %9, align 8, !tbaa !5
  %49 = icmp ne ptr %48, null
  br i1 %49, label %52, label %50

50:                                               ; preds = %47
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef 480, i32 noundef 0, ptr noundef @.str.11) #11
          to label %51 unwind label %33

51:                                               ; preds = %50
  unreachable

52:                                               ; preds = %47
  %53 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 3
  %54 = load i32, ptr %53, align 8, !tbaa !11
  %55 = load ptr, ptr %7, align 8, !tbaa !5
  %56 = getelementptr inbounds %"struct.nvinfer1::DynamicPluginTensorDesc", ptr %55, i64 0
  %57 = getelementptr inbounds %"struct.nvinfer1::DynamicPluginTensorDesc", ptr %56, i32 0, i32 0
  %58 = getelementptr inbounds %"struct.nvinfer1::PluginTensorDesc", ptr %57, i32 0, i32 1
  %59 = load i32, ptr %58, align 8, !tbaa !35
  %60 = icmp eq i32 %54, %59
  br i1 %60, label %63, label %61

61:                                               ; preds = %52
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef 481, i32 noundef 0, ptr noundef @.str.12) #11
          to label %62 unwind label %33

62:                                               ; preds = %61
  unreachable

63:                                               ; preds = %52
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #12
  %64 = load ptr, ptr %7, align 8, !tbaa !5
  %65 = getelementptr inbounds %"struct.nvinfer1::DynamicPluginTensorDesc", ptr %64, i64 0
  %66 = getelementptr inbounds %"struct.nvinfer1::DynamicPluginTensorDesc", ptr %65, i32 0, i32 0
  %67 = getelementptr inbounds %"struct.nvinfer1::PluginTensorDesc", ptr %66, i32 0, i32 0
  store ptr %67, ptr %13, align 8, !tbaa !5
  %68 = load ptr, ptr %13, align 8, !tbaa !5
  %69 = getelementptr inbounds %"class.nvinfer1::Dims64", ptr %68, i32 0, i32 0
  %70 = load i32, ptr %69, align 8, !tbaa !40
  %71 = icmp eq i32 %70, 5
  br i1 %71, label %78, label %72

72:                                               ; preds = %63
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef 484, i32 noundef 0, ptr noundef @.str.13) #11
          to label %73 unwind label %74

73:                                               ; preds = %72
  unreachable

74:                                               ; preds = %98, %90, %72
  %75 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %76 = extractvalue { ptr, i32 } %75, 0
  store ptr %76, ptr %11, align 8
  %77 = extractvalue { ptr, i32 } %75, 1
  store i32 %77, ptr %12, align 4
  br label %371

78:                                               ; preds = %63
  %79 = load ptr, ptr %13, align 8, !tbaa !5
  %80 = getelementptr inbounds %"class.nvinfer1::Dims64", ptr %79, i32 0, i32 1
  %81 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 2
  %82 = load i64, ptr %81, align 8, !tbaa !41
  %83 = trunc i64 %82 to i32
  %84 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 7
  store i32 %83, ptr %84, align 4, !tbaa !42
  %85 = load ptr, ptr %13, align 8, !tbaa !5
  %86 = getelementptr inbounds %"class.nvinfer1::Dims64", ptr %85, i32 0, i32 1
  %87 = getelementptr inbounds [8 x i64], ptr %86, i64 0, i64 3
  %88 = load i64, ptr %87, align 8, !tbaa !41
  %89 = icmp eq i64 %88, 1
  br i1 %89, label %92, label %90

90:                                               ; preds = %78
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef 487, i32 noundef 0, ptr noundef @.str.14) #11
          to label %91 unwind label %74

91:                                               ; preds = %90
  unreachable

92:                                               ; preds = %78
  %93 = load ptr, ptr %13, align 8, !tbaa !5
  %94 = getelementptr inbounds %"class.nvinfer1::Dims64", ptr %93, i32 0, i32 1
  %95 = getelementptr inbounds [8 x i64], ptr %94, i64 0, i64 4
  %96 = load i64, ptr %95, align 8, !tbaa !41
  %97 = icmp eq i64 %96, 1
  br i1 %97, label %100, label %98

98:                                               ; preds = %92
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef 488, i32 noundef 0, ptr noundef @.str.15) #11
          to label %99 unwind label %74

99:                                               ; preds = %98
  unreachable

100:                                              ; preds = %92
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #12
  %101 = load ptr, ptr %7, align 8, !tbaa !5
  %102 = getelementptr inbounds %"struct.nvinfer1::DynamicPluginTensorDesc", ptr %101, i32 0, i32 2
  %103 = getelementptr inbounds %"class.nvinfer1::Dims64", ptr %102, i32 0, i32 1
  %104 = getelementptr inbounds [8 x i64], ptr %103, i64 0, i64 0
  %105 = load i64, ptr %104, align 8, !tbaa !41
  %106 = trunc i64 %105 to i32
  store i32 %106, ptr %14, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #12
  %107 = load ptr, ptr %7, align 8, !tbaa !5
  %108 = getelementptr inbounds %"struct.nvinfer1::DynamicPluginTensorDesc", ptr %107, i32 0, i32 2
  %109 = getelementptr inbounds %"class.nvinfer1::Dims64", ptr %108, i32 0, i32 1
  %110 = getelementptr inbounds [8 x i64], ptr %109, i64 0, i64 1
  %111 = load i64, ptr %110, align 8, !tbaa !41
  %112 = trunc i64 %111 to i32
  store i32 %112, ptr %15, align 4, !tbaa !9
  %113 = load i32, ptr %14, align 4, !tbaa !9
  %114 = load i32, ptr %15, align 4, !tbaa !9
  %115 = mul nsw i32 %113, %114
  %116 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 6
  store i32 %115, ptr %116, align 8, !tbaa !43
  %117 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 11
  invoke void @_ZN8nvinfer16plugin4bert9LtContext7destroyEv(ptr noundef nonnull align 8 dereferenceable(168) %117)
          to label %118 unwind label %133

118:                                              ; preds = %100
  %119 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 3
  %120 = load i32, ptr %119, align 8, !tbaa !11
  %121 = icmp eq i32 %120, 0
  br i1 %121, label %122, label %141

122:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 144, ptr %16) #12
  %123 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 4
  %124 = load i64, ptr %123, align 8, !tbaa !44
  %125 = trunc i64 %124 to i32
  %126 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 6
  %127 = load i32, ptr %126, align 8, !tbaa !43
  %128 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 7
  %129 = load i32, ptr %128, align 4, !tbaa !42
  invoke void @_ZN8nvinfer16plugin4bert4GemmIfEC2Eiiibb(ptr noundef nonnull align 8 dereferenceable(144) %16, i32 noundef %125, i32 noundef %127, i32 noundef %129, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %130 unwind label %137

130:                                              ; preds = %122
  %131 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 11
  invoke void @_ZN8nvinfer16plugin4bert9LtContext6createIfEEvRNS1_4GemmIT_EEm(ptr noundef nonnull align 8 dereferenceable(168) %131, ptr noundef nonnull align 8 dereferenceable(144) %16, i64 noundef 4194304)
          to label %132 unwind label %137

132:                                              ; preds = %130
  call void @llvm.lifetime.end.p0(i64 144, ptr %16) #12
  br label %182

133:                                              ; preds = %199, %195, %193, %189, %187, %184, %182, %100
  %134 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %135 = extractvalue { ptr, i32 } %134, 0
  store ptr %135, ptr %11, align 8
  %136 = extractvalue { ptr, i32 } %134, 1
  store i32 %136, ptr %12, align 4
  br label %370

137:                                              ; preds = %130, %122
  %138 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %139 = extractvalue { ptr, i32 } %138, 0
  store ptr %139, ptr %11, align 8
  %140 = extractvalue { ptr, i32 } %138, 1
  store i32 %140, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 144, ptr %16) #12
  br label %370

141:                                              ; preds = %118
  %142 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 3
  %143 = load i32, ptr %142, align 8, !tbaa !11
  %144 = icmp eq i32 %143, 1
  br i1 %144, label %145, label %160

145:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 144, ptr %17) #12
  %146 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 4
  %147 = load i64, ptr %146, align 8, !tbaa !44
  %148 = trunc i64 %147 to i32
  %149 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 6
  %150 = load i32, ptr %149, align 8, !tbaa !43
  %151 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 7
  %152 = load i32, ptr %151, align 4, !tbaa !42
  invoke void @_ZN8nvinfer16plugin4bert4GemmI6__halfEC2Eiiibb(ptr noundef nonnull align 8 dereferenceable(140) %17, i32 noundef %148, i32 noundef %150, i32 noundef %152, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %153 unwind label %156

153:                                              ; preds = %145
  %154 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 11
  invoke void @_ZN8nvinfer16plugin4bert9LtContext6createI6__halfEEvRNS1_4GemmIT_EEm(ptr noundef nonnull align 8 dereferenceable(168) %154, ptr noundef nonnull align 8 dereferenceable(140) %17, i64 noundef 4194304)
          to label %155 unwind label %156

155:                                              ; preds = %153
  call void @llvm.lifetime.end.p0(i64 144, ptr %17) #12
  br label %181

156:                                              ; preds = %153, %145
  %157 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %158 = extractvalue { ptr, i32 } %157, 0
  store ptr %158, ptr %11, align 8
  %159 = extractvalue { ptr, i32 } %157, 1
  store i32 %159, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 144, ptr %17) #12
  br label %370

160:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #12
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #12
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %161 unwind label %167

161:                                              ; preds = %160
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #12
  %162 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 3
  %163 = load i32, ptr %162, align 8, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %21, i32 noundef %163) #12
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %164 unwind label %171

164:                                              ; preds = %161
  %165 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %20) #12
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef @.str, ptr noundef @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef 513, i32 noundef 0, ptr noundef %165) #11
          to label %166 unwind label %175

166:                                              ; preds = %164
  unreachable

167:                                              ; preds = %160
  %168 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %169 = extractvalue { ptr, i32 } %168, 0
  store ptr %169, ptr %11, align 8
  %170 = extractvalue { ptr, i32 } %168, 1
  store i32 %170, ptr %12, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #12
  br label %180

171:                                              ; preds = %161
  %172 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %11, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %12, align 4
  br label %179

175:                                              ; preds = %164
  %176 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %177 = extractvalue { ptr, i32 } %176, 0
  store ptr %177, ptr %11, align 8
  %178 = extractvalue { ptr, i32 } %176, 1
  store i32 %178, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #12
  br label %179

179:                                              ; preds = %175, %171
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #12
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #12
  br label %180

180:                                              ; preds = %179, %167
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #12
  br label %370

181:                                              ; preds = %155
  br label %182

182:                                              ; preds = %181, %132
  %183 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA35_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) @_ZN8nvinfer16plugin11gLogVerboseE, ptr noundef nonnull align 1 dereferenceable(35) @.str.17)
          to label %184 unwind label %133

184:                                              ; preds = %182
  %185 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 4
  %186 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EmEERNS0_9LogStreamIXT_EEES6_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %183, ptr noundef nonnull align 8 dereferenceable(8) %185)
          to label %187 unwind label %133

187:                                              ; preds = %184
  %188 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA5_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %186, ptr noundef nonnull align 1 dereferenceable(5) @.str.18)
          to label %189 unwind label %133

189:                                              ; preds = %187
  %190 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 6
  %191 = load i32, ptr %190, align 8, !tbaa !43
  %192 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %188, i32 noundef %191)
          to label %193 unwind label %133

193:                                              ; preds = %189
  %194 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA5_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %192, ptr noundef nonnull align 1 dereferenceable(5) @.str.19)
          to label %195 unwind label %133

195:                                              ; preds = %193
  %196 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 7
  %197 = load i32, ptr %196, align 4, !tbaa !42
  %198 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %194, i32 noundef %197)
          to label %199 unwind label %133

199:                                              ; preds = %195
  %200 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152) %198, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %201 unwind label %133

201:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #12
  store i64 0, ptr %22, align 8, !tbaa !41
  %202 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 8
  %203 = getelementptr inbounds %"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo", ptr %202, i32 0, i32 0
  %204 = getelementptr inbounds [8 x i64], ptr %203, i64 0, i64 0
  %205 = load i64, ptr %204, align 8, !tbaa !41
  %206 = icmp eq i64 %205, 0
  br i1 %206, label %207, label %281

207:                                              ; preds = %201
  %208 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 8
  %209 = getelementptr inbounds %"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo", ptr %208, i32 0, i32 0
  %210 = getelementptr inbounds [8 x i64], ptr %209, i64 0, i64 0
  %211 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 8
  %212 = getelementptr inbounds %"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo", ptr %211, i32 0, i32 0
  %213 = getelementptr inbounds [8 x i64], ptr %212, i64 0, i64 0
  %214 = getelementptr inbounds i64, ptr %213, i64 1
  %215 = call i32 @memcmp(ptr noundef %210, ptr noundef %214, i64 noundef 56) #13
  %216 = icmp eq i32 %215, 0
  br i1 %216, label %217, label %281

217:                                              ; preds = %207
  %218 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA28_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) @_ZN8nvinfer16plugin11gLogVerboseE, ptr noundef nonnull align 1 dereferenceable(28) @.str.20)
          to label %219 unwind label %233

219:                                              ; preds = %217
  %220 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 12
  %221 = load ptr, ptr %220, align 8, !tbaa !45
  %222 = icmp eq ptr %221, null
  br i1 %222, label %223, label %241

223:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #12
  invoke void @_ZN8nvinfer114pluginInternal12SharedStreamC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %23, i1 noundef zeroext false)
          to label %224 unwind label %237

224:                                              ; preds = %223
  %225 = call ptr @getPluginRegistry() #12
  %226 = load ptr, ptr %225, align 8, !tbaa !46
  %227 = getelementptr inbounds ptr, ptr %226, i64 16
  %228 = load ptr, ptr %227, align 8
  %229 = call noundef ptr %228(ptr noundef nonnull align 8 dereferenceable(8) %225, ptr noundef @.str.21, ptr noundef %23) #12
  %230 = getelementptr inbounds %"class.nvinfer1::pluginInternal::SharedStream", ptr %229, i32 0, i32 1
  %231 = load ptr, ptr %230, align 8, !tbaa !48
  %232 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 12
  store ptr %231, ptr %232, align 8, !tbaa !45
  call void @_ZN8nvinfer114pluginInternal12SharedStreamD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #12
  br label %241

233:                                              ; preds = %217
  %234 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %235 = extractvalue { ptr, i32 } %234, 0
  store ptr %235, ptr %11, align 8
  %236 = extractvalue { ptr, i32 } %234, 1
  store i32 %236, ptr %12, align 4
  br label %369

237:                                              ; preds = %223
  %238 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %239 = extractvalue { ptr, i32 } %238, 0
  store ptr %239, ptr %11, align 8
  %240 = extractvalue { ptr, i32 } %238, 1
  store i32 %240, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #12
  br label %369

241:                                              ; preds = %224, %219
  %242 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 3
  %243 = load i32, ptr %242, align 8, !tbaa !11
  %244 = icmp eq i32 %243, 0
  br i1 %244, label %245, label %260

245:                                              ; preds = %241
  call void @llvm.lifetime.start.p0(i64 64, ptr %24) #12
  %246 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 4
  %247 = load i64, ptr %246, align 8, !tbaa !44
  %248 = trunc i64 %247 to i32
  %249 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 6
  %250 = load i32, ptr %249, align 8, !tbaa !43
  %251 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 7
  %252 = load i32, ptr %251, align 4, !tbaa !42
  %253 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 12
  invoke void @_ZN8nvinfer16plugin4bert10gemmSearchIfEENS_14pluginInternal18cublasLtMatmulAlgoEiiimRmRP11CUstream_st(ptr dead_on_unwind writable sret(%"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo") align 8 %24, i32 noundef %248, i32 noundef %250, i32 noundef %252, i64 noundef 4194304, ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %253)
          to label %254 unwind label %256

254:                                              ; preds = %245
  %255 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %255, ptr align 8 %24, i64 64, i1 false), !tbaa.struct !52
  call void @llvm.lifetime.end.p0(i64 64, ptr %24) #12
  br label %280

256:                                              ; preds = %245
  %257 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %258 = extractvalue { ptr, i32 } %257, 0
  store ptr %258, ptr %11, align 8
  %259 = extractvalue { ptr, i32 } %257, 1
  store i32 %259, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 64, ptr %24) #12
  br label %369

260:                                              ; preds = %241
  %261 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 3
  %262 = load i32, ptr %261, align 8, !tbaa !11
  %263 = icmp eq i32 %262, 1
  br i1 %263, label %264, label %279

264:                                              ; preds = %260
  call void @llvm.lifetime.start.p0(i64 64, ptr %25) #12
  %265 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 4
  %266 = load i64, ptr %265, align 8, !tbaa !44
  %267 = trunc i64 %266 to i32
  %268 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 6
  %269 = load i32, ptr %268, align 8, !tbaa !43
  %270 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 7
  %271 = load i32, ptr %270, align 4, !tbaa !42
  %272 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 12
  invoke void @_ZN8nvinfer16plugin4bert10gemmSearchI6__halfEENS_14pluginInternal18cublasLtMatmulAlgoEiiimRmRP11CUstream_st(ptr dead_on_unwind writable sret(%"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo") align 8 %25, i32 noundef %267, i32 noundef %269, i32 noundef %271, i64 noundef 4194304, ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %272)
          to label %273 unwind label %275

273:                                              ; preds = %264
  %274 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %274, ptr align 8 %25, i64 64, i1 false), !tbaa.struct !52
  call void @llvm.lifetime.end.p0(i64 64, ptr %25) #12
  br label %279

275:                                              ; preds = %264
  %276 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %11, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 64, ptr %25) #12
  br label %369

279:                                              ; preds = %273, %260
  br label %280

280:                                              ; preds = %279, %254
  br label %281

281:                                              ; preds = %280, %207, %201
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #12
  %282 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 8
  invoke void @_ZN8nvinfer16plugin4bert9AlgoProps8populateERKNS_14pluginInternal18cublasLtMatmulAlgoE(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(64) %282)
          to label %283 unwind label %296

283:                                              ; preds = %281
  %284 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 3
  %285 = load i32, ptr %284, align 8, !tbaa !11
  %286 = icmp eq i32 %285, 0
  br i1 %286, label %287, label %300

287:                                              ; preds = %283
  %288 = getelementptr inbounds %"struct.nvinfer1::plugin::bert::AlgoProps", ptr %26, i32 0, i32 6
  %289 = load i64, ptr %288, align 8, !tbaa !54
  %290 = icmp eq i64 %289, 2
  br i1 %290, label %291, label %300

291:                                              ; preds = %287
  %292 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EA49_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) @_ZN8nvinfer16plugin11gLogWarningE, ptr noundef nonnull align 1 dereferenceable(49) @.str.22)
          to label %293 unwind label %296

293:                                              ; preds = %291
  %294 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152) %292, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %295 unwind label %296

295:                                              ; preds = %293
  br label %300

296:                                              ; preds = %366, %364, %362, %359, %357, %353, %351, %347, %345, %341, %339, %335, %333, %327, %325, %321, %319, %315, %313, %310, %308, %293, %291, %281
  %297 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %11, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #12
  br label %369

300:                                              ; preds = %295, %287, %283
  %301 = getelementptr inbounds %"class.nvinfer1::plugin::bert::FCPluginDynamic", ptr %28, i32 0, i32 3
  %302 = load i32, ptr %301, align 8, !tbaa !11
  %303 = icmp eq i32 %302, 1
  br i1 %303, label %304, label %313

304:                                              ; preds = %300
  %305 = getelementptr inbounds %"struct.nvinfer1::plugin::bert::AlgoProps", ptr %26, i32 0, i32 6
  %306 = load i64, ptr %305, align 8, !tbaa !54
  %307 = icmp ne i64 %306, 2
  br i1 %307, label %308, label %313

308:                                              ; preds = %304
  %309 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EA36_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) @_ZN8nvinfer16plugin11gLogWarningE, ptr noundef nonnull align 1 dereferenceable(36) @.str.23)
          to label %310 unwind label %296

310:                                              ; preds = %308
  %311 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152) %309, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %312 unwind label %296

312:                                              ; preds = %310
  br label %313

313:                                              ; preds = %312, %304, %300
  %314 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA36_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) @_ZN8nvinfer16plugin11gLogVerboseE, ptr noundef nonnull align 1 dereferenceable(36) @.str.24)
          to label %315 unwind label %296

315:                                              ; preds = %313
  %316 = getelementptr inbounds %"struct.nvinfer1::plugin::bert::AlgoProps", ptr %26, i32 0, i32 0
  %317 = load i32, ptr %316, align 8, !tbaa !56
  %318 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %314, i32 noundef %317)
          to label %319 unwind label %296

319:                                              ; preds = %315
  %320 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA7_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %318, ptr noundef nonnull align 1 dereferenceable(7) @.str.25)
          to label %321 unwind label %296

321:                                              ; preds = %319
  %322 = getelementptr inbounds %"struct.nvinfer1::plugin::bert::AlgoProps", ptr %26, i32 0, i32 1
  %323 = load i32, ptr %322, align 4, !tbaa !57
  %324 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %320, i32 noundef %323)
          to label %325 unwind label %296

325:                                              ; preds = %321
  %326 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA3_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %324, ptr noundef nonnull align 1 dereferenceable(3) @.str.26)
          to label %327 unwind label %296

327:                                              ; preds = %325
  %328 = getelementptr inbounds %"struct.nvinfer1::plugin::bert::AlgoProps", ptr %26, i32 0, i32 1
  %329 = load i32, ptr %328, align 4, !tbaa !57
  %330 = sext i32 %329 to i64
  %331 = getelementptr inbounds [26 x ptr], ptr @_ZN8nvinfer16plugin4bertL14matmulTileNameE, i64 0, i64 %330
  %332 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EPKcEERNS0_9LogStreamIXT_EEES8_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %326, ptr noundef nonnull align 8 dereferenceable(8) %331)
          to label %333 unwind label %296

333:                                              ; preds = %327
  %334 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA5_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %332, ptr noundef nonnull align 1 dereferenceable(5) @.str.27)
          to label %335 unwind label %296

335:                                              ; preds = %333
  %336 = getelementptr inbounds %"struct.nvinfer1::plugin::bert::AlgoProps", ptr %26, i32 0, i32 4
  %337 = load i32, ptr %336, align 8, !tbaa !58
  %338 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %334, i32 noundef %337)
          to label %339 unwind label %296

339:                                              ; preds = %335
  %340 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA11_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %338, ptr noundef nonnull align 1 dereferenceable(11) @.str.28)
          to label %341 unwind label %296

341:                                              ; preds = %339
  %342 = getelementptr inbounds %"struct.nvinfer1::plugin::bert::AlgoProps", ptr %26, i32 0, i32 5
  %343 = load i32, ptr %342, align 4, !tbaa !59
  %344 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %340, i32 noundef %343)
          to label %345 unwind label %296

345:                                              ; preds = %341
  %346 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA7_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %344, ptr noundef nonnull align 1 dereferenceable(7) @.str.29)
          to label %347 unwind label %296

347:                                              ; preds = %345
  %348 = getelementptr inbounds %"struct.nvinfer1::plugin::bert::AlgoProps", ptr %26, i32 0, i32 2
  %349 = load i32, ptr %348, align 8, !tbaa !60
  %350 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %346, i32 noundef %349)
          to label %351 unwind label %296

351:                                              ; preds = %347
  %352 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA7_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %350, ptr noundef nonnull align 1 dereferenceable(7) @.str.30)
          to label %353 unwind label %296

353:                                              ; preds = %351
  %354 = getelementptr inbounds %"struct.nvinfer1::plugin::bert::AlgoProps", ptr %26, i32 0, i32 3
  %355 = load i32, ptr %354, align 4, !tbaa !61
  %356 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %352, i32 noundef %355)
          to label %357 unwind label %296

357:                                              ; preds = %353
  %358 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA14_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %356, ptr noundef nonnull align 1 dereferenceable(14) @.str.31)
          to label %359 unwind label %296

359:                                              ; preds = %357
  %360 = getelementptr inbounds %"struct.nvinfer1::plugin::bert::AlgoProps", ptr %26, i32 0, i32 6
  %361 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EmEERNS0_9LogStreamIXT_EEES6_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %358, ptr noundef nonnull align 8 dereferenceable(8) %360)
          to label %362 unwind label %296

362:                                              ; preds = %359
  %363 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA5_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %361, ptr noundef nonnull align 1 dereferenceable(5) @.str.32)
          to label %364 unwind label %296

364:                                              ; preds = %362
  %365 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EmEERNS0_9LogStreamIXT_EEES6_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %363, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %366 unwind label %296

366:                                              ; preds = %364
  %367 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152) %365, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %368 unwind label %296

368:                                              ; preds = %366
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #12
  br label %382

369:                                              ; preds = %296, %275, %256, %237, %233
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #12
  br label %370

370:                                              ; preds = %369, %180, %156, %137, %133
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #12
  br label %371

371:                                              ; preds = %370, %74
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #12
  br label %372

372:                                              ; preds = %371, %33
  %373 = load i32, ptr %12, align 4
  %374 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt9exception) #12
  %375 = icmp eq i32 %373, %374
  br i1 %375, label %376, label %386

376:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #12
  %377 = load ptr, ptr %11, align 8
  %378 = call ptr @__cxa_begin_catch(ptr %377) #12
  store ptr %378, ptr %27, align 8
  %379 = load ptr, ptr %27, align 8, !tbaa !5
  invoke void @_ZN8nvinfer16plugin11caughtErrorERKSt9exception(ptr noundef nonnull align 8 dereferenceable(8) %379)
          to label %380 unwind label %383

380:                                              ; preds = %376
  invoke void @__cxa_end_catch()
          to label %381 unwind label %383

381:                                              ; preds = %380
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #12
  br label %382

382:                                              ; preds = %381, %368
  ret void

383:                                              ; preds = %380, %376
  %384 = landingpad { ptr, i32 }
          catch ptr null
  %385 = extractvalue { ptr, i32 } %384, 0
  call void @__clang_call_terminate(ptr %385) #14
  unreachable

386:                                              ; preds = %372
  %387 = load ptr, ptr %11, align 8
  call void @__clang_call_terminate(ptr %387) #14
  unreachable
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert9LtContext7destroyEv(ptr noundef nonnull align 8 dereferenceable(168)) #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert4GemmIfEC2Eiiibb(ptr noundef nonnull align 8 dereferenceable(144), i32 noundef, i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert9LtContext6createIfEEvRNS1_4GemmIT_EEm(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 8 dereferenceable(144), i64 noundef) #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert4GemmI6__halfEC2Eiiibb(ptr noundef nonnull align 8 dereferenceable(140), i32 noundef, i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert9LtContext6createI6__halfEEvRNS1_4GemmIT_EEm(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 8 dereferenceable(140), i64 noundef) #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #7 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) #8

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA5_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(5)) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EmEERNS0_9LogStreamIXT_EEES6_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(8)) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA35_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(35)) #7

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA28_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(28)) #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer114pluginInternal12SharedStreamC2Eb(ptr noundef nonnull align 8 dereferenceable(16), i1 noundef zeroext) unnamed_addr #7 align 2

; Function Attrs: nounwind
declare ptr @getPluginRegistry() #10

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert10gemmSearchIfEENS_14pluginInternal18cublasLtMatmulAlgoEiiimRmRP11CUstream_st(ptr dead_on_unwind noalias writable sret(%"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo") align 8, i32 noundef, i32 noundef, i32 noundef, i64 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert10gemmSearchI6__halfEENS_14pluginInternal18cublasLtMatmulAlgoEiiimRmRP11CUstream_st(ptr dead_on_unwind noalias writable sret(%"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo") align 8, i32 noundef, i32 noundef, i32 noundef, i64 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert9AlgoProps8populateERKNS_14pluginInternal18cublasLtMatmulAlgoE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(64)) #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EA49_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(49)) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EA36_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(36)) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA14_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(14)) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA7_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(7)) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA11_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(11)) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EPKcEERNS0_9LogStreamIXT_EEES8_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(8)) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA3_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(3)) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA36_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(36)) #7

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { 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 #4 = { nounwind memory(none) }
attributes #5 = { 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 #6 = { 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 #7 = { 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 = { 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 #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 = { 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 #11 = { noreturn }
attributes #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(read) }
attributes #14 = { 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, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !19, i64 72}
!12 = !{!"_ZTSN8nvinfer16plugin4bert15FCPluginDynamicE", !13, i64 0, !16, i64 8, !16, i64 40, !19, i64 72, !18, i64 80, !18, i64 88, !10, i64 96, !10, i64 100, !20, i64 104, !21, i64 168, !23, i64 192, !29, i64 200, !6, i64 368}
!13 = !{!"_ZTSN8nvinfer119IPluginV2DynamicExtE", !14, i64 0}
!14 = !{!"_ZTSN8nvinfer112IPluginV2ExtE", !15, i64 0}
!15 = !{!"_ZTSN8nvinfer19IPluginV2E"}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !17, i64 0, !18, i64 8, !7, i64 16}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"_ZTSN8nvinfer18DataTypeE", !7, i64 0}
!20 = !{!"_ZTSN8nvinfer114pluginInternal18cublasLtMatmulAlgoE", !7, i64 0}
!21 = !{!"_ZTSN8nvinfer16plugin4bert20WeightsWithOwnershipE", !22, i64 0}
!22 = !{!"_ZTSN8nvinfer17WeightsE", !19, i64 0, !6, i64 8, !18, i64 16}
!23 = !{!"_ZTSSt10unique_ptrIvN8nvinfer114pluginInternal11CudaDeleterIvEEE", !24, i64 0}
!24 = !{!"_ZTSSt15__uniq_ptr_dataIvN8nvinfer114pluginInternal11CudaDeleterIvEELb1ELb1EE", !25, i64 0}
!25 = !{!"_ZTSSt15__uniq_ptr_implIvN8nvinfer114pluginInternal11CudaDeleterIvEEE", !26, i64 0}
!26 = !{!"_ZTSSt5tupleIJPvN8nvinfer114pluginInternal11CudaDeleterIvEEEE", !27, i64 0}
!27 = !{!"_ZTSSt11_Tuple_implILm0EJPvN8nvinfer114pluginInternal11CudaDeleterIvEEEE", !28, i64 0}
!28 = !{!"_ZTSSt10_Head_baseILm0EPvLb0EE", !6, i64 0}
!29 = !{!"_ZTSN8nvinfer16plugin4bert9LtContextE", !6, i64 0, !6, i64 8, !30, i64 16, !30, i64 20, !30, i64 24, !31, i64 28, !30, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !32, i64 72}
!30 = !{!"_ZTS14cudaDataType_t", !7, i64 0}
!31 = !{!"_ZTSN8nvinfer114pluginInternal17cublasComputeTypeE", !7, i64 0}
!32 = !{!"_ZTSN8nvinfer114pluginInternal29cublasLtMatmulHeuristicResultE", !20, i64 0, !18, i64 64, !33, i64 72, !34, i64 76, !7, i64 80}
!33 = !{!"_ZTSN8nvinfer114pluginInternal12CublasStatusE", !7, i64 0}
!34 = !{!"float", !7, i64 0}
!35 = !{!36, !19, i64 72}
!36 = !{!"_ZTSN8nvinfer123DynamicPluginTensorDescE", !37, i64 0, !38, i64 88, !38, i64 160, !38, i64 232}
!37 = !{!"_ZTSN8nvinfer116PluginTensorDescE", !38, i64 0, !19, i64 72, !39, i64 76, !34, i64 80}
!38 = !{!"_ZTSN8nvinfer16Dims64E", !10, i64 0, !7, i64 8}
!39 = !{!"_ZTSN8nvinfer112TensorFormatE", !7, i64 0}
!40 = !{!38, !10, i64 0}
!41 = !{!18, !18, i64 0}
!42 = !{!12, !10, i64 100}
!43 = !{!12, !10, i64 96}
!44 = !{!12, !18, i64 80}
!45 = !{!12, !6, i64 368}
!46 = !{!47, !47, i64 0}
!47 = !{!"vtable pointer", !8, i64 0}
!48 = !{!49, !6, i64 8}
!49 = !{!"_ZTSN8nvinfer114pluginInternal12SharedStreamE", !50, i64 0, !6, i64 8}
!50 = !{!"_ZTSN8nvinfer15v_1_015IPluginResourceE", !51, i64 0}
!51 = !{!"_ZTSN8nvinfer119IVersionedInterfaceE"}
!52 = !{i64 0, i64 64, !53}
!53 = !{!7, !7, i64 0}
!54 = !{!55, !18, i64 24}
!55 = !{!"_ZTSN8nvinfer16plugin4bert9AlgoPropsE", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !18, i64 24}
!56 = !{!55, !10, i64 0}
!57 = !{!55, !10, i64 4}
!58 = !{!55, !10, i64 16}
!59 = !{!55, !10, i64 20}
!60 = !{!55, !10, i64 8}
!61 = !{!55, !10, i64 12}


; 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.nvinfer1::plugin::LogStream" = type { %"class.std::basic_ostream.base", %"class.nvinfer1::plugin::LogStream<nvinfer1::ILogger::Severity::kVERBOSE>::Buf", %"class.std::mutex", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.nvinfer1::plugin::LogStream<nvinfer1::ILogger::Severity::kVERBOSE>::Buf" = type { %"class.std::__cxx11::basic_stringbuf" }
%"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::mutex" = type { %"class.std::__mutex_base" }
%"class.std::__mutex_base" = type { %union.pthread_mutex_t }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.nvinfer1::plugin::LogStream.11" = type { %"class.std::basic_ostream.base", %"class.nvinfer1::plugin::LogStream<nvinfer1::ILogger::Severity::kWARNING>::Buf", %"class.std::mutex", %"class.std::basic_ios" }
%"class.nvinfer1::plugin::LogStream<nvinfer1::ILogger::Severity::kWARNING>::Buf" = type { %"class.std::__cxx11::basic_stringbuf" }
%"struct.nvinfer1::plugin::bert::Gemm" = type { ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8, i8, i32, i32, i32, float, float }
%"struct.nvinfer1::plugin::bert::Gemm.10" = type <{ ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8, i8, [2 x i8], i32, i32, i32, %struct.__half, %struct.__half, [4 x i8] }>
%struct.__half = type { i16 }
%"class.std::allocator.0" = type { i8 }
%"class.nvinfer1::pluginInternal::SharedStream" = type { %"class.nvinfer1::v_1_0::IPluginResource", ptr }
%"class.nvinfer1::v_1_0::IPluginResource" = type { %"class.nvinfer1::IVersionedInterface" }
%"class.nvinfer1::IVersionedInterface" = type { ptr }
%"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo" = type { [8 x i64] }
%"struct.nvinfer1::plugin::bert::AlgoProps" = type { i32, i32, i32, i32, i32, i32, i64 }

@.str = external hidden unnamed_addr constant [78 x i8], align 1
@_ZN8nvinfer16plugin11gLogVerboseE = external global %"class.nvinfer1::plugin::LogStream", align 8
@_ZTISt9exception = external constant ptr
@.str.6 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [15 x i8], align 1
@__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i = external hidden unnamed_addr constant [16 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZN8nvinfer16plugin11gLogWarningE = external global %"class.nvinfer1::plugin::LogStream.11", align 8
@.str.22 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [3 x i8], align 1
@_ZN8nvinfer16plugin4bertL14matmulTileNameE = external hidden constant [26 x ptr], align 16
@.str.27 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [5 x i8], align 1

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

; Function Attrs: mustprogress 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) #1

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152), i32 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #2

declare i32 @__gxx_personality_v0(...)

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

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

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

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

declare ptr @__cxa_begin_catch(ptr) local_unnamed_addr

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

declare void @__cxa_end_catch() local_unnamed_addr

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

; Function Attrs: mustprogress nounwind uwtable
define dso_local void @_ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef readonly %1, i32 noundef %2, ptr noundef readnone %3, i32 noundef %4) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %6 = alloca %"struct.nvinfer1::plugin::bert::Gemm", align 8
  %7 = alloca %"struct.nvinfer1::plugin::bert::Gemm.10", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator.0", align 1
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca i64, align 8
  %13 = alloca %"class.nvinfer1::pluginInternal::SharedStream", align 8
  %14 = alloca %"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo", align 8
  %15 = alloca %"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo", align 8
  %16 = alloca %"struct.nvinfer1::plugin::bert::AlgoProps", align 8
  %17 = icmp eq i32 %4, 1
  br i1 %17, label %20, label %.invoke

18:                                               ; preds = %.invoke
  %19 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %234

20:                                               ; preds = %5
  %21 = icmp eq i32 %2, 1
  br i1 %21, label %22, label %.invoke

22:                                               ; preds = %20
  %.not = icmp eq ptr %1, null
  br i1 %.not, label %.invoke, label %23

23:                                               ; preds = %22
  %.not32 = icmp eq ptr %3, null
  br i1 %.not32, label %.invoke, label %24

24:                                               ; preds = %23
  %25 = getelementptr inbounds i8, ptr %0, i64 72
  %26 = load i32, ptr %25, align 8, !tbaa !5
  %27 = getelementptr inbounds i8, ptr %1, i64 72
  %28 = load i32, ptr %27, align 8, !tbaa !33
  %29 = icmp eq i32 %26, %28
  br i1 %29, label %32, label %.invoke

.invoke:                                          ; preds = %5, %24, %23, %22, %20
  %30 = phi i32 [ 478, %20 ], [ 479, %22 ], [ 480, %23 ], [ 481, %24 ], [ 477, %5 ]
  %31 = phi ptr [ @.str.6, %20 ], [ @.str.8, %22 ], [ @.str.11, %23 ], [ @.str.12, %24 ], [ @.str.9, %5 ]
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef nonnull @.str, ptr noundef nonnull @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef %30, i32 noundef 0, ptr noundef nonnull %31) #11
          to label %.cont unwind label %18

.cont:                                            ; preds = %.invoke
  unreachable

32:                                               ; preds = %24
  %33 = load i32, ptr %1, align 8, !tbaa !38
  %34 = icmp eq i32 %33, 5
  br i1 %34, label %37, label %.invoke41

35:                                               ; preds = %.invoke41
  %36 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %234

37:                                               ; preds = %32
  %38 = getelementptr inbounds i8, ptr %1, i64 24
  %39 = load i64, ptr %38, align 8, !tbaa !39
  %40 = trunc i64 %39 to i32
  %41 = getelementptr inbounds i8, ptr %0, i64 100
  store i32 %40, ptr %41, align 4, !tbaa !40
  %42 = getelementptr inbounds i8, ptr %1, i64 32
  %43 = load i64, ptr %42, align 8, !tbaa !39
  %44 = icmp eq i64 %43, 1
  br i1 %44, label %45, label %.invoke41

45:                                               ; preds = %37
  %46 = getelementptr inbounds i8, ptr %1, i64 40
  %47 = load i64, ptr %46, align 8, !tbaa !39
  %48 = icmp eq i64 %47, 1
  br i1 %48, label %51, label %.invoke41

.invoke41:                                        ; preds = %32, %45, %37
  %49 = phi i32 [ 487, %37 ], [ 488, %45 ], [ 484, %32 ]
  %50 = phi ptr [ @.str.14, %37 ], [ @.str.15, %45 ], [ @.str.13, %32 ]
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef nonnull @.str, ptr noundef nonnull @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef %49, i32 noundef 0, ptr noundef nonnull %50) #11
          to label %.cont42 unwind label %35

.cont42:                                          ; preds = %.invoke41
  unreachable

51:                                               ; preds = %45
  %52 = getelementptr inbounds i8, ptr %1, i64 168
  %53 = load i64, ptr %52, align 8, !tbaa !39
  %54 = trunc i64 %53 to i32
  %55 = getelementptr inbounds i8, ptr %1, i64 176
  %56 = load i64, ptr %55, align 8, !tbaa !39
  %57 = trunc i64 %56 to i32
  %58 = mul nsw i32 %57, %54
  %59 = getelementptr inbounds i8, ptr %0, i64 96
  store i32 %58, ptr %59, align 8, !tbaa !41
  %60 = getelementptr inbounds i8, ptr %0, i64 200
  invoke void @_ZN8nvinfer16plugin4bert9LtContext7destroyEv(ptr noundef nonnull align 8 dereferenceable(168) %60)
          to label %61 unwind label %70

61:                                               ; preds = %51
  %62 = load i32, ptr %25, align 8, !tbaa !5
  switch i32 %62, label %83 [
    i32 0, label %63
    i32 1, label %74
  ]

63:                                               ; preds = %61
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %6) #12
  %64 = getelementptr inbounds i8, ptr %0, i64 80
  %65 = load i64, ptr %64, align 8, !tbaa !42
  %66 = trunc i64 %65 to i32
  %67 = load i32, ptr %59, align 8, !tbaa !41
  %68 = load i32, ptr %41, align 4, !tbaa !40
  call void @_ZN8nvinfer16plugin4bert4GemmIfEC2Eiiibb(ptr noundef nonnull align 8 dereferenceable(144) %6, i32 noundef %66, i32 noundef %67, i32 noundef %68, i1 noundef zeroext false, i1 noundef zeroext false)
  invoke void @_ZN8nvinfer16plugin4bert9LtContext6createIfEEvRNS1_4GemmIT_EEm(ptr noundef nonnull align 8 dereferenceable(168) %60, ptr noundef nonnull align 8 dereferenceable(144) %6, i64 noundef 4194304)
          to label %69 unwind label %72

69:                                               ; preds = %63
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %6) #12
  br label %97

70:                                               ; preds = %112, %109, %107, %104, %102, %99, %97, %51
  %71 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %234

72:                                               ; preds = %63
  %73 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %6) #12
  br label %234

74:                                               ; preds = %61
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %7) #12
  %75 = getelementptr inbounds i8, ptr %0, i64 80
  %76 = load i64, ptr %75, align 8, !tbaa !42
  %77 = trunc i64 %76 to i32
  %78 = load i32, ptr %59, align 8, !tbaa !41
  %79 = load i32, ptr %41, align 4, !tbaa !40
  call void @_ZN8nvinfer16plugin4bert4GemmI6__halfEC2Eiiibb(ptr noundef nonnull align 8 dereferenceable(140) %7, i32 noundef %77, i32 noundef %78, i32 noundef %79, i1 noundef zeroext false, i1 noundef zeroext false)
  invoke void @_ZN8nvinfer16plugin4bert9LtContext6createI6__halfEEvRNS1_4GemmIT_EEm(ptr noundef nonnull align 8 dereferenceable(168) %60, ptr noundef nonnull align 8 dereferenceable(140) %7, i64 noundef 4194304)
          to label %80 unwind label %81

80:                                               ; preds = %74
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %7) #12
  br label %97

81:                                               ; preds = %74
  %82 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %7) #12
  br label %234

83:                                               ; preds = %61
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #12
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #12
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %84 unwind label %89

84:                                               ; preds = %83
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #12
  %85 = load i32, ptr %25, align 8, !tbaa !5
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, i32 noundef %85) #12
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %86 unwind label %91

86:                                               ; preds = %84
  %87 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #12
  invoke void @_ZN8nvinfer16plugin16throwPluginErrorEPKcS2_iiS2_(ptr noundef nonnull @.str, ptr noundef nonnull @__func__._ZN8nvinfer16plugin4bert15FCPluginDynamic15configurePluginEPKNS_23DynamicPluginTensorDescEiS5_i, i32 noundef 513, i32 noundef 0, ptr noundef %87) #11
          to label %88 unwind label %93

88:                                               ; preds = %86
  unreachable

89:                                               ; preds = %83
  %90 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #12
  br label %96

91:                                               ; preds = %84
  %92 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %95

93:                                               ; preds = %86
  %94 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #12
  br label %95

95:                                               ; preds = %93, %91
  %.pn = phi { ptr, i32 } [ %94, %93 ], [ %92, %91 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #12
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #12
  br label %96

96:                                               ; preds = %95, %89
  %.pn.pn = phi { ptr, i32 } [ %.pn, %95 ], [ %90, %89 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #12
  br label %234

97:                                               ; preds = %80, %69
  %98 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA35_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) @_ZN8nvinfer16plugin11gLogVerboseE, ptr noundef nonnull align 1 dereferenceable(35) @.str.17)
          to label %99 unwind label %70

99:                                               ; preds = %97
  %100 = getelementptr inbounds i8, ptr %0, i64 80
  %101 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EmEERNS0_9LogStreamIXT_EEES6_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %98, ptr noundef nonnull align 8 dereferenceable(8) %100)
          to label %102 unwind label %70

102:                                              ; preds = %99
  %103 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA5_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %101, ptr noundef nonnull align 1 dereferenceable(5) @.str.18)
          to label %104 unwind label %70

104:                                              ; preds = %102
  %105 = load i32, ptr %59, align 8, !tbaa !41
  %106 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %103, i32 noundef %105)
          to label %107 unwind label %70

107:                                              ; preds = %104
  %108 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA5_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %106, ptr noundef nonnull align 1 dereferenceable(5) @.str.19)
          to label %109 unwind label %70

109:                                              ; preds = %107
  %110 = load i32, ptr %41, align 4, !tbaa !40
  %111 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %108, i32 noundef %110)
          to label %112 unwind label %70

112:                                              ; preds = %109
  %113 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152) %111, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %114 unwind label %70

114:                                              ; preds = %112
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #12
  store i64 0, ptr %12, align 8, !tbaa !39
  %115 = getelementptr inbounds i8, ptr %0, i64 104
  %116 = load i64, ptr %115, align 8, !tbaa !39
  %117 = icmp eq i64 %116, 0
  br i1 %117, label %118, label %158

118:                                              ; preds = %114
  %119 = getelementptr inbounds i8, ptr %0, i64 112
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(56) %115, ptr noundef nonnull dereferenceable(56) %119, i64 56)
  %120 = icmp eq i32 %bcmp, 0
  br i1 %120, label %121, label %158

121:                                              ; preds = %118
  %122 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA28_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) @_ZN8nvinfer16plugin11gLogVerboseE, ptr noundef nonnull align 1 dereferenceable(28) @.str.20)
          to label %123 unwind label %136

123:                                              ; preds = %121
  %124 = getelementptr inbounds i8, ptr %0, i64 368
  %125 = load ptr, ptr %124, align 8, !tbaa !43
  %126 = icmp eq ptr %125, null
  br i1 %126, label %127, label %140

127:                                              ; preds = %123
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #12
  invoke void @_ZN8nvinfer114pluginInternal12SharedStreamC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %13, i1 noundef zeroext false)
          to label %128 unwind label %138

128:                                              ; preds = %127
  %129 = call ptr @getPluginRegistry() #12
  %130 = load ptr, ptr %129, align 8, !tbaa !44
  %131 = getelementptr inbounds i8, ptr %130, i64 128
  %132 = load ptr, ptr %131, align 8
  %133 = call noundef ptr %132(ptr noundef nonnull align 8 dereferenceable(8) %129, ptr noundef nonnull @.str.21, ptr noundef nonnull %13) #12
  %134 = getelementptr inbounds i8, ptr %133, i64 8
  %135 = load ptr, ptr %134, align 8, !tbaa !46
  store ptr %135, ptr %124, align 8, !tbaa !43
  call void @_ZN8nvinfer114pluginInternal12SharedStreamD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %13) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #12
  br label %140

136:                                              ; preds = %121
  %137 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  br label %233

138:                                              ; preds = %127
  %139 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #12
  br label %233

140:                                              ; preds = %128, %123
  %141 = load i32, ptr %25, align 8, !tbaa !5
  switch i32 %141, label %158 [
    i32 0, label %142
    i32 1, label %150
  ]

142:                                              ; preds = %140
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %14) #12
  %143 = load i64, ptr %100, align 8, !tbaa !42
  %144 = trunc i64 %143 to i32
  %145 = load i32, ptr %59, align 8, !tbaa !41
  %146 = load i32, ptr %41, align 4, !tbaa !40
  invoke void @_ZN8nvinfer16plugin4bert10gemmSearchIfEENS_14pluginInternal18cublasLtMatmulAlgoEiiimRmRP11CUstream_st(ptr dead_on_unwind nonnull writable sret(%"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo") align 8 %14, i32 noundef %144, i32 noundef %145, i32 noundef %146, i64 noundef 4194304, ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %124)
          to label %147 unwind label %148

147:                                              ; preds = %142
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %115, ptr noundef nonnull align 8 dereferenceable(64) %14, i64 64, i1 false), !tbaa.struct !50
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %14) #12
  br label %158

148:                                              ; preds = %142
  %149 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %14) #12
  br label %233

150:                                              ; preds = %140
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %15) #12
  %151 = load i64, ptr %100, align 8, !tbaa !42
  %152 = trunc i64 %151 to i32
  %153 = load i32, ptr %59, align 8, !tbaa !41
  %154 = load i32, ptr %41, align 4, !tbaa !40
  invoke void @_ZN8nvinfer16plugin4bert10gemmSearchI6__halfEENS_14pluginInternal18cublasLtMatmulAlgoEiiimRmRP11CUstream_st(ptr dead_on_unwind nonnull writable sret(%"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo") align 8 %15, i32 noundef %152, i32 noundef %153, i32 noundef %154, i64 noundef 4194304, ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %124)
          to label %155 unwind label %156

155:                                              ; preds = %150
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %115, ptr noundef nonnull align 8 dereferenceable(64) %15, i64 64, i1 false), !tbaa.struct !50
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %15) #12
  br label %158

156:                                              ; preds = %150
  %157 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %15) #12
  br label %233

158:                                              ; preds = %140, %147, %155, %118, %114
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #12
  invoke void @_ZN8nvinfer16plugin4bert9AlgoProps8populateERKNS_14pluginInternal18cublasLtMatmulAlgoE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(64) %115)
          to label %159 unwind label %169

159:                                              ; preds = %158
  %160 = load i32, ptr %25, align 8, !tbaa !5
  %161 = icmp eq i32 %160, 0
  %162 = getelementptr inbounds i8, ptr %16, i64 24
  %163 = load i64, ptr %162, align 8
  %164 = icmp eq i64 %163, 2
  %or.cond = select i1 %161, i1 %164, i1 false
  br i1 %or.cond, label %165, label %171

165:                                              ; preds = %159
  %166 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EA49_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) @_ZN8nvinfer16plugin11gLogWarningE, ptr noundef nonnull align 1 dereferenceable(49) @.str.22)
          to label %167 unwind label %169

167:                                              ; preds = %165
  %168 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152) %166, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %._crit_edge unwind label %169

._crit_edge:                                      ; preds = %167
  %.pre = load i32, ptr %25, align 8, !tbaa !5
  %.pre40 = load i64, ptr %162, align 8
  br label %171

169:                                              ; preds = %230, %228, %226, %224, %222, %218, %216, %212, %210, %206, %204, %200, %198, %193, %191, %187, %185, %182, %180, %178, %176, %167, %165, %158
  %170 = landingpad { ptr, i32 }
          catch ptr @_ZTISt9exception
          catch ptr null
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #12
  br label %233

171:                                              ; preds = %._crit_edge, %159
  %172 = phi i64 [ %.pre40, %._crit_edge ], [ %163, %159 ]
  %173 = phi i32 [ %.pre, %._crit_edge ], [ %160, %159 ]
  %174 = icmp eq i32 %173, 1
  %175 = icmp ne i64 %172, 2
  %or.cond5 = select i1 %174, i1 %175, i1 false
  br i1 %or.cond5, label %176, label %180

176:                                              ; preds = %171
  %177 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EA36_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) @_ZN8nvinfer16plugin11gLogWarningE, ptr noundef nonnull align 1 dereferenceable(36) @.str.23)
          to label %178 unwind label %169

178:                                              ; preds = %176
  %179 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152) %177, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %180 unwind label %169

180:                                              ; preds = %178, %171
  %181 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA36_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) @_ZN8nvinfer16plugin11gLogVerboseE, ptr noundef nonnull align 1 dereferenceable(36) @.str.24)
          to label %182 unwind label %169

182:                                              ; preds = %180
  %183 = load i32, ptr %16, align 8, !tbaa !52
  %184 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %181, i32 noundef %183)
          to label %185 unwind label %169

185:                                              ; preds = %182
  %186 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA7_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %184, ptr noundef nonnull align 1 dereferenceable(7) @.str.25)
          to label %187 unwind label %169

187:                                              ; preds = %185
  %188 = getelementptr inbounds i8, ptr %16, i64 4
  %189 = load i32, ptr %188, align 4, !tbaa !54
  %190 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %186, i32 noundef %189)
          to label %191 unwind label %169

191:                                              ; preds = %187
  %192 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA3_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %190, ptr noundef nonnull align 1 dereferenceable(3) @.str.26)
          to label %193 unwind label %169

193:                                              ; preds = %191
  %194 = load i32, ptr %188, align 4, !tbaa !54
  %195 = sext i32 %194 to i64
  %196 = getelementptr inbounds [26 x ptr], ptr @_ZN8nvinfer16plugin4bertL14matmulTileNameE, i64 0, i64 %195
  %197 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EPKcEERNS0_9LogStreamIXT_EEES8_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %192, ptr noundef nonnull align 8 dereferenceable(8) %196)
          to label %198 unwind label %169

198:                                              ; preds = %193
  %199 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA5_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %197, ptr noundef nonnull align 1 dereferenceable(5) @.str.27)
          to label %200 unwind label %169

200:                                              ; preds = %198
  %201 = getelementptr inbounds i8, ptr %16, i64 16
  %202 = load i32, ptr %201, align 8, !tbaa !55
  %203 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %199, i32 noundef %202)
          to label %204 unwind label %169

204:                                              ; preds = %200
  %205 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA11_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %203, ptr noundef nonnull align 1 dereferenceable(11) @.str.28)
          to label %206 unwind label %169

206:                                              ; preds = %204
  %207 = getelementptr inbounds i8, ptr %16, i64 20
  %208 = load i32, ptr %207, align 4, !tbaa !56
  %209 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %205, i32 noundef %208)
          to label %210 unwind label %169

210:                                              ; preds = %206
  %211 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA7_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %209, ptr noundef nonnull align 1 dereferenceable(7) @.str.29)
          to label %212 unwind label %169

212:                                              ; preds = %210
  %213 = getelementptr inbounds i8, ptr %16, i64 8
  %214 = load i32, ptr %213, align 8, !tbaa !57
  %215 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %211, i32 noundef %214)
          to label %216 unwind label %169

216:                                              ; preds = %212
  %217 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA7_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %215, ptr noundef nonnull align 1 dereferenceable(7) @.str.30)
          to label %218 unwind label %169

218:                                              ; preds = %216
  %219 = getelementptr inbounds i8, ptr %16, i64 12
  %220 = load i32, ptr %219, align 4, !tbaa !58
  %221 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_i(ptr noundef nonnull align 8 dereferenceable(152) %217, i32 noundef %220)
          to label %222 unwind label %169

222:                                              ; preds = %218
  %223 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA14_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %221, ptr noundef nonnull align 1 dereferenceable(14) @.str.31)
          to label %224 unwind label %169

224:                                              ; preds = %222
  %225 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EmEERNS0_9LogStreamIXT_EEES6_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %223, ptr noundef nonnull align 8 dereferenceable(8) %162)
          to label %226 unwind label %169

226:                                              ; preds = %224
  %227 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA5_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %225, ptr noundef nonnull align 1 dereferenceable(5) @.str.32)
          to label %228 unwind label %169

228:                                              ; preds = %226
  %229 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EmEERNS0_9LogStreamIXT_EEES6_RKT0_(ptr noundef nonnull align 8 dereferenceable(152) %227, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %230 unwind label %169

230:                                              ; preds = %228
  %231 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152) %229, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %232 unwind label %169

232:                                              ; preds = %230
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #12
  br label %240

233:                                              ; preds = %169, %156, %148, %138, %136
  %.pn35 = phi { ptr, i32 } [ %170, %169 ], [ %149, %148 ], [ %157, %156 ], [ %139, %138 ], [ %137, %136 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #12
  br label %234

234:                                              ; preds = %35, %233, %96, %81, %72, %70, %18
  %.pn35.pn.pn.pn = phi { ptr, i32 } [ %19, %18 ], [ %36, %35 ], [ %.pn35, %233 ], [ %71, %70 ], [ %73, %72 ], [ %82, %81 ], [ %.pn.pn, %96 ]
  %.5 = extractvalue { ptr, i32 } %.pn35.pn.pn.pn, 0
  %.528 = extractvalue { ptr, i32 } %.pn35.pn.pn.pn, 1
  %235 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt9exception) #12
  %236 = icmp eq i32 %.528, %235
  br i1 %236, label %237, label %244

237:                                              ; preds = %234
  %238 = call ptr @__cxa_begin_catch(ptr %.5) #12
  invoke void @_ZN8nvinfer16plugin11caughtErrorERKSt9exception(ptr noundef nonnull align 8 dereferenceable(8) %238)
          to label %239 unwind label %241

239:                                              ; preds = %237
  invoke void @__cxa_end_catch()
          to label %240 unwind label %241

240:                                              ; preds = %239, %232
  ret void

241:                                              ; preds = %239, %237
  %242 = landingpad { ptr, i32 }
          catch ptr null
  %243 = extractvalue { ptr, i32 } %242, 0
  call void @__clang_call_terminate(ptr %243) #13
  unreachable

244:                                              ; preds = %234
  call void @__clang_call_terminate(ptr %.5) #13
  unreachable
}

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert4GemmIfEC2Eiiibb(ptr noundef nonnull align 8 dereferenceable(144), i32 noundef, i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert9LtContext6createIfEEvRNS1_4GemmIT_EEm(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 8 dereferenceable(144), i64 noundef) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert4GemmI6__halfEC2Eiiibb(ptr noundef nonnull align 8 dereferenceable(140), i32 noundef, i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert9LtContext6createI6__halfEEvRNS1_4GemmIT_EEm(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 8 dereferenceable(140), i64 noundef) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #7 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) local_unnamed_addr #8

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA5_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(5)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EmEERNS0_9LogStreamIXT_EEES6_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA35_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(35)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA28_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(28)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer114pluginInternal12SharedStreamC2Eb(ptr noundef nonnull align 8 dereferenceable(16), i1 noundef zeroext) unnamed_addr #7 align 2

; Function Attrs: nounwind
declare ptr @getPluginRegistry() local_unnamed_addr #9

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert10gemmSearchIfEENS_14pluginInternal18cublasLtMatmulAlgoEiiimRmRP11CUstream_st(ptr dead_on_unwind noalias writable sret(%"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo") align 8, i32 noundef, i32 noundef, i32 noundef, i64 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert10gemmSearchI6__halfEENS_14pluginInternal18cublasLtMatmulAlgoEiiimRmRP11CUstream_st(ptr dead_on_unwind noalias writable sret(%"struct.nvinfer1::pluginInternal::cublasLtMatmulAlgo") align 8, i32 noundef, i32 noundef, i32 noundef, i64 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nvinfer16plugin4bert9AlgoProps8populateERKNS_14pluginInternal18cublasLtMatmulAlgoE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(64)) local_unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EEERNS0_9LogStreamIXT_EEES6_PFRSoS7_E(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EA49_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(49)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE2EA36_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(36)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA14_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(14)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA7_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(7)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA11_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(11)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EPKcEERNS0_9LogStreamIXT_EEES8_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA3_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(3)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8nvinfer16pluginlsILNS_7ILogger8SeverityE4EA36_cEERNS0_9LogStreamIXT_EEES7_RKT0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 1 dereferenceable(36)) local_unnamed_addr #7

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #10

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { 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 #4 = { nofree nosync nounwind memory(none) }
attributes #5 = { 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 #6 = { 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 #7 = { 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 = { 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 #9 = { 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 #10 = { nofree nounwind willreturn memory(argmem: read) }
attributes #11 = { noreturn }
attributes #12 = { nounwind }
attributes #13 = { 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, !16, i64 72}
!6 = !{!"_ZTSN8nvinfer16plugin4bert15FCPluginDynamicE", !7, i64 0, !10, i64 8, !10, i64 40, !16, i64 72, !15, i64 80, !15, i64 88, !17, i64 96, !17, i64 100, !18, i64 104, !19, i64 168, !21, i64 192, !27, i64 200, !12, i64 368}
!7 = !{!"_ZTSN8nvinfer119IPluginV2DynamicExtE", !8, i64 0}
!8 = !{!"_ZTSN8nvinfer112IPluginV2ExtE", !9, i64 0}
!9 = !{!"_ZTSN8nvinfer19IPluginV2E"}
!10 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !11, i64 0, !15, i64 8, !13, i64 16}
!11 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !12, i64 0}
!12 = !{!"any pointer", !13, i64 0}
!13 = !{!"omnipotent char", !14, i64 0}
!14 = !{!"Simple C++ TBAA"}
!15 = !{!"long", !13, i64 0}
!16 = !{!"_ZTSN8nvinfer18DataTypeE", !13, i64 0}
!17 = !{!"int", !13, i64 0}
!18 = !{!"_ZTSN8nvinfer114pluginInternal18cublasLtMatmulAlgoE", !13, i64 0}
!19 = !{!"_ZTSN8nvinfer16plugin4bert20WeightsWithOwnershipE", !20, i64 0}
!20 = !{!"_ZTSN8nvinfer17WeightsE", !16, i64 0, !12, i64 8, !15, i64 16}
!21 = !{!"_ZTSSt10unique_ptrIvN8nvinfer114pluginInternal11CudaDeleterIvEEE", !22, i64 0}
!22 = !{!"_ZTSSt15__uniq_ptr_dataIvN8nvinfer114pluginInternal11CudaDeleterIvEELb1ELb1EE", !23, i64 0}
!23 = !{!"_ZTSSt15__uniq_ptr_implIvN8nvinfer114pluginInternal11CudaDeleterIvEEE", !24, i64 0}
!24 = !{!"_ZTSSt5tupleIJPvN8nvinfer114pluginInternal11CudaDeleterIvEEEE", !25, i64 0}
!25 = !{!"_ZTSSt11_Tuple_implILm0EJPvN8nvinfer114pluginInternal11CudaDeleterIvEEEE", !26, i64 0}
!26 = !{!"_ZTSSt10_Head_baseILm0EPvLb0EE", !12, i64 0}
!27 = !{!"_ZTSN8nvinfer16plugin4bert9LtContextE", !12, i64 0, !12, i64 8, !28, i64 16, !28, i64 20, !28, i64 24, !29, i64 28, !28, i64 32, !12, i64 40, !12, i64 48, !12, i64 56, !12, i64 64, !30, i64 72}
!28 = !{!"_ZTS14cudaDataType_t", !13, i64 0}
!29 = !{!"_ZTSN8nvinfer114pluginInternal17cublasComputeTypeE", !13, i64 0}
!30 = !{!"_ZTSN8nvinfer114pluginInternal29cublasLtMatmulHeuristicResultE", !18, i64 0, !15, i64 64, !31, i64 72, !32, i64 76, !13, i64 80}
!31 = !{!"_ZTSN8nvinfer114pluginInternal12CublasStatusE", !13, i64 0}
!32 = !{!"float", !13, i64 0}
!33 = !{!34, !16, i64 72}
!34 = !{!"_ZTSN8nvinfer123DynamicPluginTensorDescE", !35, i64 0, !36, i64 88, !36, i64 160, !36, i64 232}
!35 = !{!"_ZTSN8nvinfer116PluginTensorDescE", !36, i64 0, !16, i64 72, !37, i64 76, !32, i64 80}
!36 = !{!"_ZTSN8nvinfer16Dims64E", !17, i64 0, !13, i64 8}
!37 = !{!"_ZTSN8nvinfer112TensorFormatE", !13, i64 0}
!38 = !{!36, !17, i64 0}
!39 = !{!15, !15, i64 0}
!40 = !{!6, !17, i64 100}
!41 = !{!6, !17, i64 96}
!42 = !{!6, !15, i64 80}
!43 = !{!6, !12, i64 368}
!44 = !{!45, !45, i64 0}
!45 = !{!"vtable pointer", !14, i64 0}
!46 = !{!47, !12, i64 8}
!47 = !{!"_ZTSN8nvinfer114pluginInternal12SharedStreamE", !48, i64 0, !12, i64 8}
!48 = !{!"_ZTSN8nvinfer15v_1_015IPluginResourceE", !49, i64 0}
!49 = !{!"_ZTSN8nvinfer119IVersionedInterfaceE"}
!50 = !{i64 0, i64 64, !51}
!51 = !{!13, !13, i64 0}
!52 = !{!53, !17, i64 0}
!53 = !{!"_ZTSN8nvinfer16plugin4bert9AlgoPropsE", !17, i64 0, !17, i64 4, !17, i64 8, !17, i64 12, !17, i64 16, !17, i64 20, !15, i64 24}
!54 = !{!53, !17, i64 4}
!55 = !{!53, !17, i64 16}
!56 = !{!53, !17, i64 20}
!57 = !{!53, !17, i64 8}
!58 = !{!53, !17, i64 12}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass