; LLVM IR from gem5/gem5 :: src/systemc/tests/systemc/misc/synth/concat/rvalue/test.ll (ZN4test5entryEv)

; 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.sc_dt::sc_lv" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv_base" = type { %"class.sc_dt::sc_proxy", i32, i32, ptr, ptr }
%"class.sc_dt::sc_proxy" = type { ptr }
%"class.sc_dt::sc_lv.0" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_logic" = type { i32 }
%"class.sc_dt::sc_lv.1" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv.2" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_concref_r" = type { %"class.sc_dt::sc_proxy.16", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.16" = type { ptr }
%"class.sc_dt::sc_concref" = type { %"class.sc_dt::sc_concref_r" }
%"class.sc_dt::sc_concref.17" = type { %"class.sc_dt::sc_concref_r.18" }
%"class.sc_dt::sc_concref_r.18" = type { %"class.sc_dt::sc_proxy.19", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.19" = type { ptr }
%"class.sc_dt::sc_concref.20" = type { %"class.sc_dt::sc_concref_r.21" }
%"class.sc_dt::sc_concref_r.21" = type { %"class.sc_dt::sc_proxy.22", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.22" = type { ptr }
%"class.sc_dt::sc_concref_r.23" = type { %"class.sc_dt::sc_proxy.24", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.24" = type { ptr }
%"class.sc_dt::sc_concref_r.25" = type { %"class.sc_dt::sc_proxy.26", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.26" = type { ptr }
%"class.sc_dt::sc_concref_r.27" = type { %"class.sc_dt::sc_proxy.28", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.28" = type { ptr }
%"class.sc_dt::sc_concref_r.29" = type { %"class.sc_dt::sc_proxy.30", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.30" = type { ptr }
%"class.sc_dt::sc_concref.31" = type { %"class.sc_dt::sc_concref_r.32" }
%"class.sc_dt::sc_concref_r.32" = type { %"class.sc_dt::sc_proxy.33", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.33" = type { ptr }
%"class.sc_dt::sc_subref" = type { %"class.sc_dt::sc_subref_r.base", [4 x i8] }
%"class.sc_dt::sc_subref_r.base" = type <{ %"class.sc_dt::sc_proxy.34", ptr, i32, i32, i32 }>
%"class.sc_dt::sc_proxy.34" = type { ptr }
%"class.sc_dt::sc_concref_r.35" = type { %"class.sc_dt::sc_proxy.36", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.36" = type { ptr }
%"class.sc_dt::sc_concref_r.37" = type { %"class.sc_dt::sc_proxy.38", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.38" = type { ptr }
%"class.sc_dt::sc_length_param" = type { i32 }
%"class.sc_dt::sc_concref.39" = type { %"class.sc_dt::sc_concref_r.40" }
%"class.sc_dt::sc_concref_r.40" = type { %"class.sc_dt::sc_proxy.41", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.41" = type { ptr }
%"class.sc_dt::sc_concref.42" = type { %"class.sc_dt::sc_concref_r.43" }
%"class.sc_dt::sc_concref_r.43" = type { %"class.sc_dt::sc_proxy.44", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.44" = type { ptr }
%struct.test = type { %"class.sc_core::sc_module", %"class.sc_core::sc_in", ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%"class.sc_core::sc_module" = type { %"class.sc_core::sc_object", %"class.sc_core::sc_process_host", %"class.sc_core::sc_sensitive", %"class.sc_core::sc_sensitive_pos", %"class.sc_core::sc_sensitive_neg", i8, ptr, i32, ptr, ptr }
%"class.sc_core::sc_object" = type { ptr, ptr, %"class.std::vector", %"class.std::vector.3", %"class.std::__cxx11::basic_string", ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl_data" = type { ptr, ptr, 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.sc_core::sc_process_host" = type { ptr }
%"class.sc_core::sc_sensitive" = type { ptr, i32, ptr }
%"class.sc_core::sc_sensitive_pos" = type { ptr, i32, ptr }
%"class.sc_core::sc_sensitive_neg" = type { ptr, i32, ptr }
%"class.sc_core::sc_in" = type { %"class.sc_core::sc_port", ptr, ptr, ptr, ptr }
%"class.sc_core::sc_port" = type { %"class.sc_core::sc_port_b" }
%"class.sc_core::sc_port_b" = type { %"class.sc_core::sc_port_base", ptr, %"class.std::vector.11" }
%"class.sc_core::sc_port_base" = type { %"class.sc_core::sc_object", ptr }
%"class.std::vector.11" = type { %"struct.std::_Vector_base.12" }
%"struct.std::_Vector_base.12" = type { %"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str = external hidden unnamed_addr constant [9 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [34 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4test5entryEv(ptr noundef nonnull align 8 dereferenceable(528) %0) #0 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.sc_dt::sc_lv", align 8
  %4 = alloca %"class.sc_dt::sc_lv", align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca %"class.sc_dt::sc_lv", align 8
  %8 = alloca %"class.sc_dt::sc_lv", align 8
  %9 = alloca %"class.sc_dt::sc_lv.0", align 8
  %10 = alloca %"class.sc_dt::sc_lv.0", align 8
  %11 = alloca %"class.sc_dt::sc_logic", align 4
  %12 = alloca %"class.sc_dt::sc_logic", align 4
  %13 = alloca %"class.sc_dt::sc_logic", align 4
  %14 = alloca %"class.sc_dt::sc_lv.1", align 8
  %15 = alloca %"class.sc_dt::sc_lv.1", align 8
  %16 = alloca %"class.sc_dt::sc_lv.1", align 8
  %17 = alloca %"class.sc_dt::sc_lv.2", align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca %"class.sc_dt::sc_concref_r", align 8
  %21 = alloca %"class.sc_dt::sc_lv_base", align 8
  %22 = alloca %"class.sc_dt::sc_concref_r", align 8
  %23 = alloca %"class.sc_dt::sc_lv_base", align 8
  %24 = alloca %"class.sc_dt::sc_concref_r", align 8
  %25 = alloca %"class.sc_dt::sc_lv_base", align 8
  %26 = alloca %"class.sc_dt::sc_concref", align 8
  %27 = alloca %"class.sc_dt::sc_lv_base", align 8
  %28 = alloca %"class.sc_dt::sc_concref.17", align 8
  %29 = alloca %"class.sc_dt::sc_concref.20", align 8
  %30 = alloca %"class.sc_dt::sc_concref", align 8
  %31 = alloca %"class.sc_dt::sc_lv_base", align 8
  %32 = alloca %"class.sc_dt::sc_concref_r.23", align 8
  %33 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %34 = alloca %"class.sc_dt::sc_concref_r", align 8
  %35 = alloca %"class.sc_dt::sc_lv_base", align 8
  %36 = alloca %"class.sc_dt::sc_lv_base", align 8
  %37 = alloca %"class.sc_dt::sc_concref_r.27", align 8
  %38 = alloca %"class.sc_dt::sc_lv_base", align 8
  %39 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %40 = alloca %"class.sc_dt::sc_concref_r", align 8
  %41 = alloca %"class.sc_dt::sc_lv_base", align 8
  %42 = alloca %"class.sc_dt::sc_lv_base", align 8
  %43 = alloca %"class.sc_dt::sc_concref_r.29", align 8
  %44 = alloca %"class.sc_dt::sc_concref.31", align 8
  %45 = alloca %"class.sc_dt::sc_concref.20", align 8
  %46 = alloca %"class.sc_dt::sc_concref", align 8
  %47 = alloca %"class.sc_dt::sc_subref", align 8
  %48 = alloca %"class.sc_dt::sc_lv_base", align 8
  %49 = alloca %"class.sc_dt::sc_concref_r.35", align 8
  %50 = alloca %"class.sc_dt::sc_concref_r.37", align 8
  %51 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %52 = alloca %"class.sc_dt::sc_concref", align 8
  %53 = alloca %"class.sc_dt::sc_subref", align 8
  %54 = alloca %"class.sc_dt::sc_subref", align 8
  %55 = alloca %"class.sc_dt::sc_lv_base", align 8
  %56 = alloca %"class.sc_dt::sc_lv_base", align 8
  %57 = alloca %"class.sc_dt::sc_concref_r", align 8
  %58 = alloca %"class.sc_dt::sc_lv_base", align 8
  %59 = alloca %"class.sc_dt::sc_length_param", align 4
  %60 = alloca %"class.sc_dt::sc_concref.39", align 8
  %61 = alloca %"class.sc_dt::sc_subref", align 8
  %62 = alloca %"class.sc_dt::sc_concref_r", align 8
  %63 = alloca %"class.sc_dt::sc_lv_base", align 8
  %64 = alloca %"class.sc_dt::sc_length_param", align 4
  %65 = alloca %"class.sc_dt::sc_concref.42", align 8
  %66 = alloca %"class.sc_dt::sc_subref", align 8
  %67 = alloca %"class.sc_dt::sc_concref_r", align 8
  %68 = alloca %"class.sc_dt::sc_lv_base", align 8
  %69 = alloca %"class.sc_dt::sc_length_param", align 4
  %70 = alloca %"class.sc_dt::sc_lv_base", align 8
  %71 = alloca %"class.sc_dt::sc_concref_r", align 8
  %72 = alloca %"class.sc_dt::sc_lv_base", align 8
  %73 = alloca %"class.sc_dt::sc_lv_base", align 8
  %74 = alloca %"class.sc_dt::sc_lv_base", align 8
  %75 = alloca i32, align 4
  store ptr %0, ptr %2, align 8, !tbaa !5
  %76 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %3) #6
  call void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3)
  call void @llvm.lifetime.start.p0(i64 32, ptr %4) #6
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %77 unwind label %232

77:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #6
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %78 unwind label %236

78:                                               ; preds = %77
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #6
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %79 unwind label %240

79:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #6
  invoke void @_ZN5sc_dt5sc_lvILi24EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %80 unwind label %244

80:                                               ; preds = %79
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #6
  invoke void @_ZN5sc_dt5sc_lvILi24EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %81 unwind label %248

81:                                               ; preds = %80
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #6
  invoke void @_ZN5sc_dt8sc_logicC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %82 unwind label %252

82:                                               ; preds = %81
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #6
  invoke void @_ZN5sc_dt8sc_logicC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %83 unwind label %256

83:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #6
  invoke void @_ZN5sc_dt8sc_logicC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %13)
          to label %84 unwind label %260

84:                                               ; preds = %83
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #6
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %85 unwind label %264

85:                                               ; preds = %84
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #6
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %86 unwind label %268

86:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #6
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %87 unwind label %272

87:                                               ; preds = %86
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #6
  invoke void @_ZN5sc_dt5sc_lvILi2EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %88 unwind label %276

88:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  br label %89

89:                                               ; preds = %231, %88
  br label %90

90:                                               ; preds = %89
  invoke void @_ZN7sc_core9sc_module4waitEv(ptr noundef nonnull align 8 dereferenceable(232) %76)
          to label %91 unwind label %280

91:                                               ; preds = %90
  %92 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef @.str)
          to label %93 unwind label %280

93:                                               ; preds = %91
  %94 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef @.str.2)
          to label %95 unwind label %280

95:                                               ; preds = %93
  %96 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.3)
          to label %97 unwind label %280

97:                                               ; preds = %95
  %98 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef @.str.4)
          to label %99 unwind label %280

99:                                               ; preds = %97
  %100 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi24EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.5)
          to label %101 unwind label %280

101:                                              ; preds = %99
  %102 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi24EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef @.str.6)
          to label %103 unwind label %280

103:                                              ; preds = %101
  call void @llvm.lifetime.start.p0(i64 40, ptr %20) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #6
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef @.str.7)
          to label %104 unwind label %284

104:                                              ; preds = %103
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %20, ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef @.str.8)
          to label %105 unwind label %288

105:                                              ; preds = %104
  %106 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %107 unwind label %292

107:                                              ; preds = %105
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %20) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %22) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIS1_T_EEPKcRNS_8sc_proxyIS3_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %22, ptr noundef @.str.7, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %108 unwind label %298

108:                                              ; preds = %107
  %109 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %110 unwind label %302

110:                                              ; preds = %108
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %22) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #6
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %23, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %111 unwind label %307

111:                                              ; preds = %110
  %112 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %113 unwind label %311

113:                                              ; preds = %111
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %24) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %24, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef @.str.9)
          to label %114 unwind label %316

114:                                              ; preds = %113
  %115 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %116 unwind label %320

116:                                              ; preds = %114
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #6
  invoke void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %25, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %117 unwind label %325

117:                                              ; preds = %116
  %118 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %119 unwind label %329

119:                                              ; preds = %117
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %26) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %26, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %120 unwind label %334

120:                                              ; preds = %119
  %121 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %122 unwind label %338

122:                                              ; preds = %120
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #6
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %27, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %123 unwind label %343

123:                                              ; preds = %122
  %124 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %125 unwind label %347

125:                                              ; preds = %123
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %28) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %126 unwind label %352

126:                                              ; preds = %125
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.20") align 8 %29, ptr noundef %30, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %127 unwind label %356

127:                                              ; preds = %126
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.17") align 8 %28, ptr noundef %29, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %128 unwind label %360

128:                                              ; preds = %127
  %129 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_concrefINS4_INS_10sc_lv_baseES5_EES5_EES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %130 unwind label %364

130:                                              ; preds = %128
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #6
  invoke void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %31, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %131 unwind label %371

131:                                              ; preds = %130
  %132 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %133 unwind label %375

133:                                              ; preds = %131
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #6
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef @.str.3)
          to label %134 unwind label %380

134:                                              ; preds = %133
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %34, ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef @.str.3)
          to label %135 unwind label %384

135:                                              ; preds = %134
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EES5_PKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %33, ptr noundef %34, ptr noundef @.str.3)
          to label %136 unwind label %388

136:                                              ; preds = %135
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_EENS1_INS1_IT_T0_EES2_EES6_PKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.23") align 8 %32, ptr noundef %33, ptr noundef @.str.3)
          to label %137 unwind label %392

137:                                              ; preds = %136
  %138 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS3_INS_10sc_lv_baseES4_EES4_EES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %139 unwind label %396

139:                                              ; preds = %137
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %36, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %140 unwind label %404

140:                                              ; preds = %139
  %141 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %142 unwind label %408

142:                                              ; preds = %140
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %37) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.3)
          to label %143 unwind label %413

143:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #6
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.10)
          to label %144 unwind label %417

144:                                              ; preds = %143
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %40, ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef @.str.3)
          to label %145 unwind label %421

145:                                              ; preds = %144
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EES5_PKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %39, ptr noundef %40, ptr noundef @.str.3)
          to label %146 unwind label %425

146:                                              ; preds = %145
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseENS_12sc_concref_rIS1_S1_EES1_EENS2_IT_NS2_IT0_T1_EEEERKNS_8sc_proxyIS4_EES7_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.27") align 8 %37, ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef %39)
          to label %147 unwind label %429

147:                                              ; preds = %146
  %148 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseENS3_INS3_IS4_S4_EES4_EEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %149 unwind label %433

149:                                              ; preds = %147
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS0_INS0_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %37) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #6
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %42, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %150 unwind label %442

150:                                              ; preds = %149
  %151 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %152 unwind label %446

152:                                              ; preds = %150
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  %153 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5sc_dt8sc_logicaSEc(ptr noundef nonnull align 4 dereferenceable(4) %13, i8 noundef signext 48)
          to label %154 unwind label %280

154:                                              ; preds = %152
  %155 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5sc_dt8sc_logicaSEc(ptr noundef nonnull align 4 dereferenceable(4) %12, i8 noundef signext 49)
          to label %156 unwind label %280

156:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 40, ptr %43) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %46, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %157 unwind label %451

157:                                              ; preds = %156
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.20") align 8 %45, ptr noundef %46, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %158 unwind label %455

158:                                              ; preds = %157
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %47, ptr noundef nonnull align 8 dereferenceable(8) %8, i32 noundef 6, i32 noundef 0)
          to label %159 unwind label %459

159:                                              ; preds = %158
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_9sc_subrefIT1_EEEES6_S9_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.31") align 8 %44, ptr noundef %45, ptr noundef %47)
          to label %160 unwind label %463

160:                                              ; preds = %159
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEENS_12sc_concref_rINS7_IT_T0_EES2_EENS1_IS8_S9_EERKNS_8sc_logicE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.29") align 8 %43, ptr noundef %44, ptr noundef nonnull align 4 dereferenceable(4) %13)
          to label %161 unwind label %467

161:                                              ; preds = %160
  %162 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS_10sc_concrefINS4_INS_10sc_lv_baseES5_EES5_EENS_9sc_subrefIS5_EEEES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %163 unwind label %471

163:                                              ; preds = %161
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %47) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #6
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %48, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %164 unwind label %480

164:                                              ; preds = %163
  %165 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %166 unwind label %484

166:                                              ; preds = %164
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  %167 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5sc_dt8sc_logicaSEc(ptr noundef nonnull align 4 dereferenceable(4) %11, i8 noundef signext 49)
          to label %168 unwind label %280

168:                                              ; preds = %166
  call void @llvm.lifetime.start.p0(i64 40, ptr %49) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %52, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %169 unwind label %489

169:                                              ; preds = %168
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EENS_10sc_concrefIS3_S4_EERKNS_8sc_logicE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %51, ptr noundef %52, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %170 unwind label %493

170:                                              ; preds = %169
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %53, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef 6, i32 noundef 0)
          to label %171 unwind label %497

171:                                              ; preds = %170
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_11sc_subref_rIT1_EEEES6_NS_9sc_subrefIS8_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.37") align 8 %50, ptr noundef %51, ptr noundef %53)
          to label %172 unwind label %501

172:                                              ; preds = %171
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %54, ptr noundef nonnull align 8 dereferenceable(8) %14, i32 noundef 7, i32 noundef 0)
          to label %173 unwind label %505

173:                                              ; preds = %172
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EENS_11sc_subref_rIS2_EES2_EENS1_INS1_IT_T0_EENS5_IT1_EEEES9_NS_9sc_subrefISA_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.35") align 8 %49, ptr noundef %50, ptr noundef %54)
          to label %174 unwind label %509

174:                                              ; preds = %173
  %175 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS3_INS3_INS_10sc_lv_baseES4_EES4_EENS_11sc_subref_rIS4_EEEES8_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %176 unwind label %513

176:                                              ; preds = %174
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_11sc_subref_rIS1_EEEES5_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %49) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %54) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_11sc_subref_rIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %53) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #6
  invoke void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %55, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %177 unwind label %523

177:                                              ; preds = %176
  %178 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %55)
          to label %179 unwind label %527

179:                                              ; preds = %177
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %57) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #6
  invoke void @_ZN5sc_dt15sc_length_paramC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %59)
          to label %180 unwind label %532

180:                                              ; preds = %179
  %181 = invoke noundef i32 @_ZNK5sc_dt15sc_length_param3lenEv(ptr noundef nonnull align 4 dereferenceable(4) %59)
          to label %182 unwind label %532

182:                                              ; preds = %180
  invoke void @_ZN5sc_dt10sc_lv_baseC2ERKNS_8sc_logicEi(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 4 dereferenceable(4) %11, i32 noundef %181)
          to label %183 unwind label %532

183:                                              ; preds = %182
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EERKNS_8sc_logicE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %57, ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %184 unwind label %536

184:                                              ; preds = %183
  invoke void @_ZNK5sc_dt8sc_proxyINS_12sc_concref_rINS_10sc_lv_baseES2_EEEcoEv(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %56, ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %185 unwind label %540

185:                                              ; preds = %184
  %186 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi2EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %187 unwind label %544

187:                                              ; preds = %185
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %57) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %60) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %61, ptr noundef nonnull align 8 dereferenceable(8) %16, i32 noundef 31, i32 noundef 2)
          to label %188 unwind label %551

188:                                              ; preds = %187
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EET0_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.39") align 8 %60, ptr noundef %61, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %189 unwind label %555

189:                                              ; preds = %188
  %190 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %191 unwind label %559

191:                                              ; preds = %189
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %60) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %61) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %60) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %62) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #6
  invoke void @_ZN5sc_dt15sc_length_paramC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %64)
          to label %192 unwind label %565

192:                                              ; preds = %191
  %193 = invoke noundef i32 @_ZNK5sc_dt15sc_length_param3lenEv(ptr noundef nonnull align 4 dereferenceable(4) %64)
          to label %194 unwind label %565

194:                                              ; preds = %192
  invoke void @_ZN5sc_dt10sc_lv_baseC2ERKNS_8sc_logicEi(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 4 dereferenceable(4) %12, i32 noundef %193)
          to label %195 unwind label %565

195:                                              ; preds = %194
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EERKNS_8sc_logicE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %62, ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %196 unwind label %569

196:                                              ; preds = %195
  %197 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi2EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %198 unwind label %573

198:                                              ; preds = %196
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %62) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %65) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %66, ptr noundef nonnull align 8 dereferenceable(8) %16, i32 noundef 29, i32 noundef 0)
          to label %199 unwind label %579

199:                                              ; preds = %198
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_NS_9sc_subrefIT0_EEEERNS_8sc_proxyIS3_EES6_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.42") align 8 %65, ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef %66)
          to label %200 unwind label %583

200:                                              ; preds = %199
  %201 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseENS_9sc_subrefIS4_EEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %202 unwind label %587

202:                                              ; preds = %200
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_9sc_subrefIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %66) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %65) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %67) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #6
  invoke void @_ZN5sc_dt15sc_length_paramC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %69)
          to label %203 unwind label %593

203:                                              ; preds = %202
  %204 = invoke noundef i32 @_ZNK5sc_dt15sc_length_param3lenEv(ptr noundef nonnull align 4 dereferenceable(4) %69)
          to label %205 unwind label %593

205:                                              ; preds = %203
  invoke void @_ZN5sc_dt10sc_lv_baseC2ERKNS_8sc_logicEi(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 4 dereferenceable(4) %12, i32 noundef %204)
          to label %206 unwind label %593

206:                                              ; preds = %205
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %67, ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef @.str.11)
          to label %207 unwind label %597

207:                                              ; preds = %206
  %208 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %209 unwind label %601

209:                                              ; preds = %207
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %67) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %67) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #6
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %70, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %210 unwind label %607

210:                                              ; preds = %209
  %211 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %212 unwind label %611

212:                                              ; preds = %210
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %71) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #6
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef @.str.11)
          to label %213 unwind label %616

213:                                              ; preds = %212
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EERKNS_8sc_logicE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %71, ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %214 unwind label %620

214:                                              ; preds = %213
  %215 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %216 unwind label %624

216:                                              ; preds = %214
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %71) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %71) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #6
  invoke void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %73, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %217 unwind label %630

217:                                              ; preds = %216
  %218 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %219 unwind label %634

219:                                              ; preds = %217
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  %220 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef @.str.12)
          to label %221 unwind label %280

221:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #6
  invoke void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %74, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %222 unwind label %639

222:                                              ; preds = %221
  %223 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %224 unwind label %643

224:                                              ; preds = %222
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #6
  %225 = invoke noundef i32 @_ZNK5sc_dt8sc_proxyINS_10sc_lv_baseEE6to_intEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %226 unwind label %648

226:                                              ; preds = %224
  store i32 %225, ptr %75, align 4, !tbaa !9
  %227 = getelementptr inbounds %struct.test, ptr %76, i32 0, i32 11
  %228 = load ptr, ptr %227, align 8, !tbaa !11
  %229 = invoke noundef nonnull align 8 dereferenceable(196) ptr @_ZN7sc_core9sc_signalIiLNS_16sc_writer_policyE0EEaSERKi(ptr noundef nonnull align 8 dereferenceable(196) %228, ptr noundef nonnull align 4 dereferenceable(4) %75)
          to label %230 unwind label %648

230:                                              ; preds = %226
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  invoke void @_ZN7sc_core9sc_module4waitEv(ptr noundef nonnull align 8 dereferenceable(232) %76)
          to label %231 unwind label %280

231:                                              ; preds = %230
  br label %89, !llvm.loop !42

232:                                              ; preds = %1
  %233 = landingpad { ptr, i32 }
          cleanup
  %234 = extractvalue { ptr, i32 } %233, 0
  store ptr %234, ptr %5, align 8
  %235 = extractvalue { ptr, i32 } %233, 1
  store i32 %235, ptr %6, align 4
  br label %664

236:                                              ; preds = %77
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %5, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %6, align 4
  br label %663

240:                                              ; preds = %78
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %5, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %6, align 4
  br label %662

244:                                              ; preds = %79
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %5, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %6, align 4
  br label %661

248:                                              ; preds = %80
  %249 = landingpad { ptr, i32 }
          cleanup
  %250 = extractvalue { ptr, i32 } %249, 0
  store ptr %250, ptr %5, align 8
  %251 = extractvalue { ptr, i32 } %249, 1
  store i32 %251, ptr %6, align 4
  br label %660

252:                                              ; preds = %81
  %253 = landingpad { ptr, i32 }
          cleanup
  %254 = extractvalue { ptr, i32 } %253, 0
  store ptr %254, ptr %5, align 8
  %255 = extractvalue { ptr, i32 } %253, 1
  store i32 %255, ptr %6, align 4
  br label %659

256:                                              ; preds = %82
  %257 = landingpad { ptr, i32 }
          cleanup
  %258 = extractvalue { ptr, i32 } %257, 0
  store ptr %258, ptr %5, align 8
  %259 = extractvalue { ptr, i32 } %257, 1
  store i32 %259, ptr %6, align 4
  br label %658

260:                                              ; preds = %83
  %261 = landingpad { ptr, i32 }
          cleanup
  %262 = extractvalue { ptr, i32 } %261, 0
  store ptr %262, ptr %5, align 8
  %263 = extractvalue { ptr, i32 } %261, 1
  store i32 %263, ptr %6, align 4
  br label %657

264:                                              ; preds = %84
  %265 = landingpad { ptr, i32 }
          cleanup
  %266 = extractvalue { ptr, i32 } %265, 0
  store ptr %266, ptr %5, align 8
  %267 = extractvalue { ptr, i32 } %265, 1
  store i32 %267, ptr %6, align 4
  br label %656

268:                                              ; preds = %85
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %5, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %6, align 4
  br label %655

272:                                              ; preds = %86
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %5, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %6, align 4
  br label %654

276:                                              ; preds = %87
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %5, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %6, align 4
  br label %653

280:                                              ; preds = %230, %219, %166, %154, %152, %101, %99, %97, %95, %93, %91, %90
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %5, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %6, align 4
  br label %652

284:                                              ; preds = %103
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %5, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %6, align 4
  br label %297

288:                                              ; preds = %104
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %5, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %6, align 4
  br label %296

292:                                              ; preds = %105
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %5, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #6
  br label %296

296:                                              ; preds = %292, %288
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %297

297:                                              ; preds = %296, %284
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %20) #6
  br label %652

298:                                              ; preds = %107
  %299 = landingpad { ptr, i32 }
          cleanup
  %300 = extractvalue { ptr, i32 } %299, 0
  store ptr %300, ptr %5, align 8
  %301 = extractvalue { ptr, i32 } %299, 1
  store i32 %301, ptr %6, align 4
  br label %306

302:                                              ; preds = %108
  %303 = landingpad { ptr, i32 }
          cleanup
  %304 = extractvalue { ptr, i32 } %303, 0
  store ptr %304, ptr %5, align 8
  %305 = extractvalue { ptr, i32 } %303, 1
  store i32 %305, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #6
  br label %306

306:                                              ; preds = %302, %298
  call void @llvm.lifetime.end.p0(i64 40, ptr %22) #6
  br label %652

307:                                              ; preds = %110
  %308 = landingpad { ptr, i32 }
          cleanup
  %309 = extractvalue { ptr, i32 } %308, 0
  store ptr %309, ptr %5, align 8
  %310 = extractvalue { ptr, i32 } %308, 1
  store i32 %310, ptr %6, align 4
  br label %315

311:                                              ; preds = %111
  %312 = landingpad { ptr, i32 }
          cleanup
  %313 = extractvalue { ptr, i32 } %312, 0
  store ptr %313, ptr %5, align 8
  %314 = extractvalue { ptr, i32 } %312, 1
  store i32 %314, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %315

315:                                              ; preds = %311, %307
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  br label %652

316:                                              ; preds = %113
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %5, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %6, align 4
  br label %324

320:                                              ; preds = %114
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %5, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #6
  br label %324

324:                                              ; preds = %320, %316
  call void @llvm.lifetime.end.p0(i64 40, ptr %24) #6
  br label %652

325:                                              ; preds = %116
  %326 = landingpad { ptr, i32 }
          cleanup
  %327 = extractvalue { ptr, i32 } %326, 0
  store ptr %327, ptr %5, align 8
  %328 = extractvalue { ptr, i32 } %326, 1
  store i32 %328, ptr %6, align 4
  br label %333

329:                                              ; preds = %117
  %330 = landingpad { ptr, i32 }
          cleanup
  %331 = extractvalue { ptr, i32 } %330, 0
  store ptr %331, ptr %5, align 8
  %332 = extractvalue { ptr, i32 } %330, 1
  store i32 %332, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %333

333:                                              ; preds = %329, %325
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  br label %652

334:                                              ; preds = %119
  %335 = landingpad { ptr, i32 }
          cleanup
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %5, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %6, align 4
  br label %342

338:                                              ; preds = %120
  %339 = landingpad { ptr, i32 }
          cleanup
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %5, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #6
  br label %342

342:                                              ; preds = %338, %334
  call void @llvm.lifetime.end.p0(i64 40, ptr %26) #6
  br label %652

343:                                              ; preds = %122
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %5, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %6, align 4
  br label %351

347:                                              ; preds = %123
  %348 = landingpad { ptr, i32 }
          cleanup
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %5, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %351

351:                                              ; preds = %347, %343
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  br label %652

352:                                              ; preds = %125
  %353 = landingpad { ptr, i32 }
          cleanup
  %354 = extractvalue { ptr, i32 } %353, 0
  store ptr %354, ptr %5, align 8
  %355 = extractvalue { ptr, i32 } %353, 1
  store i32 %355, ptr %6, align 4
  br label %370

356:                                              ; preds = %126
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %5, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %6, align 4
  br label %369

360:                                              ; preds = %127
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %5, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %6, align 4
  br label %368

364:                                              ; preds = %128
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %5, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #6
  br label %368

368:                                              ; preds = %364, %360
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #6
  br label %369

369:                                              ; preds = %368, %356
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #6
  br label %370

370:                                              ; preds = %369, %352
  call void @llvm.lifetime.end.p0(i64 40, ptr %28) #6
  br label %652

371:                                              ; preds = %130
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %5, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %6, align 4
  br label %379

375:                                              ; preds = %131
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %5, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %379

379:                                              ; preds = %375, %371
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  br label %652

380:                                              ; preds = %133
  %381 = landingpad { ptr, i32 }
          cleanup
  %382 = extractvalue { ptr, i32 } %381, 0
  store ptr %382, ptr %5, align 8
  %383 = extractvalue { ptr, i32 } %381, 1
  store i32 %383, ptr %6, align 4
  br label %403

384:                                              ; preds = %134
  %385 = landingpad { ptr, i32 }
          cleanup
  %386 = extractvalue { ptr, i32 } %385, 0
  store ptr %386, ptr %5, align 8
  %387 = extractvalue { ptr, i32 } %385, 1
  store i32 %387, ptr %6, align 4
  br label %402

388:                                              ; preds = %135
  %389 = landingpad { ptr, i32 }
          cleanup
  %390 = extractvalue { ptr, i32 } %389, 0
  store ptr %390, ptr %5, align 8
  %391 = extractvalue { ptr, i32 } %389, 1
  store i32 %391, ptr %6, align 4
  br label %401

392:                                              ; preds = %136
  %393 = landingpad { ptr, i32 }
          cleanup
  %394 = extractvalue { ptr, i32 } %393, 0
  store ptr %394, ptr %5, align 8
  %395 = extractvalue { ptr, i32 } %393, 1
  store i32 %395, ptr %6, align 4
  br label %400

396:                                              ; preds = %137
  %397 = landingpad { ptr, i32 }
          cleanup
  %398 = extractvalue { ptr, i32 } %397, 0
  store ptr %398, ptr %5, align 8
  %399 = extractvalue { ptr, i32 } %397, 1
  store i32 %399, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #6
  br label %400

400:                                              ; preds = %396, %392
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #6
  br label %401

401:                                              ; preds = %400, %388
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #6
  br label %402

402:                                              ; preds = %401, %384
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %403

403:                                              ; preds = %402, %380
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %32) #6
  br label %652

404:                                              ; preds = %139
  %405 = landingpad { ptr, i32 }
          cleanup
  %406 = extractvalue { ptr, i32 } %405, 0
  store ptr %406, ptr %5, align 8
  %407 = extractvalue { ptr, i32 } %405, 1
  store i32 %407, ptr %6, align 4
  br label %412

408:                                              ; preds = %140
  %409 = landingpad { ptr, i32 }
          cleanup
  %410 = extractvalue { ptr, i32 } %409, 0
  store ptr %410, ptr %5, align 8
  %411 = extractvalue { ptr, i32 } %409, 1
  store i32 %411, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %412

412:                                              ; preds = %408, %404
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %652

413:                                              ; preds = %142
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %5, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %6, align 4
  br label %441

417:                                              ; preds = %143
  %418 = landingpad { ptr, i32 }
          cleanup
  %419 = extractvalue { ptr, i32 } %418, 0
  store ptr %419, ptr %5, align 8
  %420 = extractvalue { ptr, i32 } %418, 1
  store i32 %420, ptr %6, align 4
  br label %440

421:                                              ; preds = %144
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %5, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %6, align 4
  br label %439

425:                                              ; preds = %145
  %426 = landingpad { ptr, i32 }
          cleanup
  %427 = extractvalue { ptr, i32 } %426, 0
  store ptr %427, ptr %5, align 8
  %428 = extractvalue { ptr, i32 } %426, 1
  store i32 %428, ptr %6, align 4
  br label %438

429:                                              ; preds = %146
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %5, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %6, align 4
  br label %437

433:                                              ; preds = %147
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %5, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS0_INS0_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #6
  br label %437

437:                                              ; preds = %433, %429
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #6
  br label %438

438:                                              ; preds = %437, %425
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #6
  br label %439

439:                                              ; preds = %438, %421
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %440

440:                                              ; preds = %439, %417
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %441

441:                                              ; preds = %440, %413
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %37) #6
  br label %652

442:                                              ; preds = %149
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %5, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %6, align 4
  br label %450

446:                                              ; preds = %150
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %5, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %450

450:                                              ; preds = %446, %442
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  br label %652

451:                                              ; preds = %156
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %5, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %6, align 4
  br label %479

455:                                              ; preds = %157
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %5, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %6, align 4
  br label %478

459:                                              ; preds = %158
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %5, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %6, align 4
  br label %477

463:                                              ; preds = %159
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %5, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %6, align 4
  br label %476

467:                                              ; preds = %160
  %468 = landingpad { ptr, i32 }
          cleanup
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %5, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %6, align 4
  br label %475

471:                                              ; preds = %161
  %472 = landingpad { ptr, i32 }
          cleanup
  %473 = extractvalue { ptr, i32 } %472, 0
  store ptr %473, ptr %5, align 8
  %474 = extractvalue { ptr, i32 } %472, 1
  store i32 %474, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43) #6
  br label %475

475:                                              ; preds = %471, %467
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #6
  br label %476

476:                                              ; preds = %475, %463
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %47) #6
  br label %477

477:                                              ; preds = %476, %459
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #6
  br label %478

478:                                              ; preds = %477, %455
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #6
  br label %479

479:                                              ; preds = %478, %451
  call void @llvm.lifetime.end.p0(i64 40, ptr %43) #6
  br label %652

480:                                              ; preds = %163
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %5, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %6, align 4
  br label %488

484:                                              ; preds = %164
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %5, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %488

488:                                              ; preds = %484, %480
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  br label %652

489:                                              ; preds = %168
  %490 = landingpad { ptr, i32 }
          cleanup
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %5, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %6, align 4
  br label %522

493:                                              ; preds = %169
  %494 = landingpad { ptr, i32 }
          cleanup
  %495 = extractvalue { ptr, i32 } %494, 0
  store ptr %495, ptr %5, align 8
  %496 = extractvalue { ptr, i32 } %494, 1
  store i32 %496, ptr %6, align 4
  br label %521

497:                                              ; preds = %170
  %498 = landingpad { ptr, i32 }
          cleanup
  %499 = extractvalue { ptr, i32 } %498, 0
  store ptr %499, ptr %5, align 8
  %500 = extractvalue { ptr, i32 } %498, 1
  store i32 %500, ptr %6, align 4
  br label %520

501:                                              ; preds = %171
  %502 = landingpad { ptr, i32 }
          cleanup
  %503 = extractvalue { ptr, i32 } %502, 0
  store ptr %503, ptr %5, align 8
  %504 = extractvalue { ptr, i32 } %502, 1
  store i32 %504, ptr %6, align 4
  br label %519

505:                                              ; preds = %172
  %506 = landingpad { ptr, i32 }
          cleanup
  %507 = extractvalue { ptr, i32 } %506, 0
  store ptr %507, ptr %5, align 8
  %508 = extractvalue { ptr, i32 } %506, 1
  store i32 %508, ptr %6, align 4
  br label %518

509:                                              ; preds = %173
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %5, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %6, align 4
  br label %517

513:                                              ; preds = %174
  %514 = landingpad { ptr, i32 }
          cleanup
  %515 = extractvalue { ptr, i32 } %514, 0
  store ptr %515, ptr %5, align 8
  %516 = extractvalue { ptr, i32 } %514, 1
  store i32 %516, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_11sc_subref_rIS1_EEEES5_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %49) #6
  br label %517

517:                                              ; preds = %513, %509
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %54) #6
  br label %518

518:                                              ; preds = %517, %505
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_11sc_subref_rIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #6
  br label %519

519:                                              ; preds = %518, %501
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %53) #6
  br label %520

520:                                              ; preds = %519, %497
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #6
  br label %521

521:                                              ; preds = %520, %493
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #6
  br label %522

522:                                              ; preds = %521, %489
  call void @llvm.lifetime.end.p0(i64 40, ptr %49) #6
  br label %652

523:                                              ; preds = %176
  %524 = landingpad { ptr, i32 }
          cleanup
  %525 = extractvalue { ptr, i32 } %524, 0
  store ptr %525, ptr %5, align 8
  %526 = extractvalue { ptr, i32 } %524, 1
  store i32 %526, ptr %6, align 4
  br label %531

527:                                              ; preds = %177
  %528 = landingpad { ptr, i32 }
          cleanup
  %529 = extractvalue { ptr, i32 } %528, 0
  store ptr %529, ptr %5, align 8
  %530 = extractvalue { ptr, i32 } %528, 1
  store i32 %530, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %531

531:                                              ; preds = %527, %523
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  br label %652

532:                                              ; preds = %182, %180, %179
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %5, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %6, align 4
  br label %550

536:                                              ; preds = %183
  %537 = landingpad { ptr, i32 }
          cleanup
  %538 = extractvalue { ptr, i32 } %537, 0
  store ptr %538, ptr %5, align 8
  %539 = extractvalue { ptr, i32 } %537, 1
  store i32 %539, ptr %6, align 4
  br label %549

540:                                              ; preds = %184
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %5, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %6, align 4
  br label %548

544:                                              ; preds = %185
  %545 = landingpad { ptr, i32 }
          cleanup
  %546 = extractvalue { ptr, i32 } %545, 0
  store ptr %546, ptr %5, align 8
  %547 = extractvalue { ptr, i32 } %545, 1
  store i32 %547, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %548

548:                                              ; preds = %544, %540
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %57) #6
  br label %549

549:                                              ; preds = %548, %536
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %550

550:                                              ; preds = %549, %532
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  br label %652

551:                                              ; preds = %187
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %5, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %6, align 4
  br label %564

555:                                              ; preds = %188
  %556 = landingpad { ptr, i32 }
          cleanup
  %557 = extractvalue { ptr, i32 } %556, 0
  store ptr %557, ptr %5, align 8
  %558 = extractvalue { ptr, i32 } %556, 1
  store i32 %558, ptr %6, align 4
  br label %563

559:                                              ; preds = %189
  %560 = landingpad { ptr, i32 }
          cleanup
  %561 = extractvalue { ptr, i32 } %560, 0
  store ptr %561, ptr %5, align 8
  %562 = extractvalue { ptr, i32 } %560, 1
  store i32 %562, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %60) #6
  br label %563

563:                                              ; preds = %559, %555
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %61) #6
  br label %564

564:                                              ; preds = %563, %551
  call void @llvm.lifetime.end.p0(i64 40, ptr %60) #6
  br label %652

565:                                              ; preds = %194, %192, %191
  %566 = landingpad { ptr, i32 }
          cleanup
  %567 = extractvalue { ptr, i32 } %566, 0
  store ptr %567, ptr %5, align 8
  %568 = extractvalue { ptr, i32 } %566, 1
  store i32 %568, ptr %6, align 4
  br label %578

569:                                              ; preds = %195
  %570 = landingpad { ptr, i32 }
          cleanup
  %571 = extractvalue { ptr, i32 } %570, 0
  store ptr %571, ptr %5, align 8
  %572 = extractvalue { ptr, i32 } %570, 1
  store i32 %572, ptr %6, align 4
  br label %577

573:                                              ; preds = %196
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %5, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #6
  br label %577

577:                                              ; preds = %573, %569
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %578

578:                                              ; preds = %577, %565
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %62) #6
  br label %652

579:                                              ; preds = %198
  %580 = landingpad { ptr, i32 }
          cleanup
  %581 = extractvalue { ptr, i32 } %580, 0
  store ptr %581, ptr %5, align 8
  %582 = extractvalue { ptr, i32 } %580, 1
  store i32 %582, ptr %6, align 4
  br label %592

583:                                              ; preds = %199
  %584 = landingpad { ptr, i32 }
          cleanup
  %585 = extractvalue { ptr, i32 } %584, 0
  store ptr %585, ptr %5, align 8
  %586 = extractvalue { ptr, i32 } %584, 1
  store i32 %586, ptr %6, align 4
  br label %591

587:                                              ; preds = %200
  %588 = landingpad { ptr, i32 }
          cleanup
  %589 = extractvalue { ptr, i32 } %588, 0
  store ptr %589, ptr %5, align 8
  %590 = extractvalue { ptr, i32 } %588, 1
  store i32 %590, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_9sc_subrefIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #6
  br label %591

591:                                              ; preds = %587, %583
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %66) #6
  br label %592

592:                                              ; preds = %591, %579
  call void @llvm.lifetime.end.p0(i64 40, ptr %65) #6
  br label %652

593:                                              ; preds = %205, %203, %202
  %594 = landingpad { ptr, i32 }
          cleanup
  %595 = extractvalue { ptr, i32 } %594, 0
  store ptr %595, ptr %5, align 8
  %596 = extractvalue { ptr, i32 } %594, 1
  store i32 %596, ptr %6, align 4
  br label %606

597:                                              ; preds = %206
  %598 = landingpad { ptr, i32 }
          cleanup
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %5, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %6, align 4
  br label %605

601:                                              ; preds = %207
  %602 = landingpad { ptr, i32 }
          cleanup
  %603 = extractvalue { ptr, i32 } %602, 0
  store ptr %603, ptr %5, align 8
  %604 = extractvalue { ptr, i32 } %602, 1
  store i32 %604, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %67) #6
  br label %605

605:                                              ; preds = %601, %597
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %606

606:                                              ; preds = %605, %593
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %67) #6
  br label %652

607:                                              ; preds = %209
  %608 = landingpad { ptr, i32 }
          cleanup
  %609 = extractvalue { ptr, i32 } %608, 0
  store ptr %609, ptr %5, align 8
  %610 = extractvalue { ptr, i32 } %608, 1
  store i32 %610, ptr %6, align 4
  br label %615

611:                                              ; preds = %210
  %612 = landingpad { ptr, i32 }
          cleanup
  %613 = extractvalue { ptr, i32 } %612, 0
  store ptr %613, ptr %5, align 8
  %614 = extractvalue { ptr, i32 } %612, 1
  store i32 %614, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %615

615:                                              ; preds = %611, %607
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  br label %652

616:                                              ; preds = %212
  %617 = landingpad { ptr, i32 }
          cleanup
  %618 = extractvalue { ptr, i32 } %617, 0
  store ptr %618, ptr %5, align 8
  %619 = extractvalue { ptr, i32 } %617, 1
  store i32 %619, ptr %6, align 4
  br label %629

620:                                              ; preds = %213
  %621 = landingpad { ptr, i32 }
          cleanup
  %622 = extractvalue { ptr, i32 } %621, 0
  store ptr %622, ptr %5, align 8
  %623 = extractvalue { ptr, i32 } %621, 1
  store i32 %623, ptr %6, align 4
  br label %628

624:                                              ; preds = %214
  %625 = landingpad { ptr, i32 }
          cleanup
  %626 = extractvalue { ptr, i32 } %625, 0
  store ptr %626, ptr %5, align 8
  %627 = extractvalue { ptr, i32 } %625, 1
  store i32 %627, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %71) #6
  br label %628

628:                                              ; preds = %624, %620
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  br label %629

629:                                              ; preds = %628, %616
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %71) #6
  br label %652

630:                                              ; preds = %216
  %631 = landingpad { ptr, i32 }
          cleanup
  %632 = extractvalue { ptr, i32 } %631, 0
  store ptr %632, ptr %5, align 8
  %633 = extractvalue { ptr, i32 } %631, 1
  store i32 %633, ptr %6, align 4
  br label %638

634:                                              ; preds = %217
  %635 = landingpad { ptr, i32 }
          cleanup
  %636 = extractvalue { ptr, i32 } %635, 0
  store ptr %636, ptr %5, align 8
  %637 = extractvalue { ptr, i32 } %635, 1
  store i32 %637, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %638

638:                                              ; preds = %634, %630
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  br label %652

639:                                              ; preds = %221
  %640 = landingpad { ptr, i32 }
          cleanup
  %641 = extractvalue { ptr, i32 } %640, 0
  store ptr %641, ptr %5, align 8
  %642 = extractvalue { ptr, i32 } %640, 1
  store i32 %642, ptr %6, align 4
  br label %647

643:                                              ; preds = %222
  %644 = landingpad { ptr, i32 }
          cleanup
  %645 = extractvalue { ptr, i32 } %644, 0
  store ptr %645, ptr %5, align 8
  %646 = extractvalue { ptr, i32 } %644, 1
  store i32 %646, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %647

647:                                              ; preds = %643, %639
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #6
  br label %652

648:                                              ; preds = %226, %224
  %649 = landingpad { ptr, i32 }
          cleanup
  %650 = extractvalue { ptr, i32 } %649, 0
  store ptr %650, ptr %5, align 8
  %651 = extractvalue { ptr, i32 } %649, 1
  store i32 %651, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  br label %652

652:                                              ; preds = %648, %647, %638, %629, %615, %606, %592, %578, %564, %550, %531, %522, %488, %479, %450, %441, %412, %403, %379, %370, %351, %342, %333, %324, %315, %306, %297, %280
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %653

653:                                              ; preds = %652, %276
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %654

654:                                              ; preds = %653, %272
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %655

655:                                              ; preds = %654, %268
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %656

656:                                              ; preds = %655, %264
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  call void @_ZN5sc_dt8sc_logicD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %13) #6
  br label %657

657:                                              ; preds = %656, %260
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  call void @_ZN5sc_dt8sc_logicD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %12) #6
  br label %658

658:                                              ; preds = %657, %256
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  call void @_ZN5sc_dt8sc_logicD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %11) #6
  br label %659

659:                                              ; preds = %658, %252
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %660

660:                                              ; preds = %659, %248
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %661

661:                                              ; preds = %660, %244
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  br label %662

662:                                              ; preds = %661, %240
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  br label %663

663:                                              ; preds = %662, %236
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  br label %664

664:                                              ; preds = %663, %232
  call void @llvm.lifetime.end.p0(i64 32, ptr %4) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %3) #6
  br label %665

665:                                              ; preds = %664
  %666 = load ptr, ptr %5, align 8
  %667 = load i32, ptr %6, align 4
  %668 = insertvalue { ptr, i32 } poison, ptr %666, 0
  %669 = insertvalue { ptr, i32 } %668, i32 %667, 1
  resume { ptr, i32 } %669
}

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi24EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #3

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIS1_T_EEPKcRNS_8sc_proxyIS3_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.17") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.20") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_concrefINS4_INS_10sc_lv_baseES5_EES5_EES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_EENS1_INS1_IT_T0_EES2_EES6_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.23") align 8, ptr noundef, ptr noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EES5_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.25") align 8, ptr noundef, ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS3_INS_10sc_lv_baseES4_EES4_EES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseENS_12sc_concref_rIS1_S1_EES1_EENS2_IT_NS2_IT0_T1_EEEERKNS_8sc_proxyIS4_EES7_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.27") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseENS3_INS3_IS4_S4_EES4_EEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS0_INS0_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5sc_dt8sc_logicaSEc(ptr noundef nonnull align 4 dereferenceable(4), i8 noundef signext) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEENS_12sc_concref_rINS7_IT_T0_EES2_EENS1_IS8_S9_EERKNS_8sc_logicE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.29") align 8, ptr noundef, ptr noundef nonnull align 4 dereferenceable(4)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_9sc_subrefIT1_EEEES6_S9_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.31") align 8, ptr noundef, ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_subref") align 8, ptr noundef nonnull align 8 dereferenceable(8), i32 noundef, i32 noundef) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS_10sc_concrefINS4_INS_10sc_lv_baseES5_EES5_EENS_9sc_subrefIS5_EEEES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EENS_11sc_subref_rIS2_EES2_EENS1_INS1_IT_T0_EENS5_IT1_EEEES9_NS_9sc_subrefISA_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.35") align 8, ptr noundef, ptr noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_11sc_subref_rIT1_EEEES6_NS_9sc_subrefIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.37") align 8, ptr noundef, ptr noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EENS_10sc_concrefIS3_S4_EERKNS_8sc_logicE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.25") align 8, ptr noundef, ptr noundef nonnull align 4 dereferenceable(4)) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS3_INS3_INS_10sc_lv_baseES4_EES4_EENS_11sc_subref_rIS4_EEEES8_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_11sc_subref_rIS1_EEEES5_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_11sc_subref_rIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EERKNS_8sc_logicE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(4)) #3

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK5sc_dt15sc_length_param3lenEv(ptr noundef nonnull align 4 dereferenceable(4)) #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5sc_dt8sc_proxyINS_12sc_concref_rINS_10sc_lv_baseES2_EEEcoEv(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi2EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EET0_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.39") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi2EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_NS_9sc_subrefIT0_EEEERNS_8sc_proxyIS3_EES6_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.42") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseENS_9sc_subrefIS4_EEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK5sc_dt8sc_proxyINS_10sc_lv_baseEE6to_intEv(ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(196) ptr @_ZN7sc_core9sc_signalIiLNS_16sc_writer_policyE0EEaSERKi(ptr noundef nonnull align 8 dereferenceable(196), ptr noundef nonnull align 4 dereferenceable(4)) #0 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_9sc_subrefIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

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

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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 #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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, !6, i64 488}
!12 = !{!"_ZTS4test", !13, i64 0, !34, i64 232, !6, i64 416, !6, i64 424, !6, i64 432, !6, i64 440, !6, i64 448, !6, i64 456, !6, i64 464, !6, i64 472, !6, i64 480, !6, i64 488, !6, i64 496, !6, i64 504, !6, i64 512, !6, i64 520}
!13 = !{!"_ZTSN7sc_core9sc_moduleE", !14, i64 0, !26, i64 112, !27, i64 120, !29, i64 144, !31, i64 168, !33, i64 192, !6, i64 200, !10, i64 208, !6, i64 216, !6, i64 224}
!14 = !{!"_ZTSN7sc_core9sc_objectE", !6, i64 8, !15, i64 16, !19, i64 40, !23, i64 64, !6, i64 96, !6, i64 104}
!15 = !{!"_ZTSSt6vectorIPN7sc_core8sc_eventESaIS2_EE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!19 = !{!"_ZTSSt6vectorIPN7sc_core9sc_objectESaIS2_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !24, i64 0, !25, i64 8, !7, i64 16}
!24 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!25 = !{!"long", !7, i64 0}
!26 = !{!"_ZTSN7sc_core15sc_process_hostE"}
!27 = !{!"_ZTSN7sc_core12sc_sensitiveE", !6, i64 0, !28, i64 8, !6, i64 16}
!28 = !{!"_ZTSN7sc_core12sc_sensitiveUt_E", !7, i64 0}
!29 = !{!"_ZTSN7sc_core16sc_sensitive_posE", !6, i64 0, !30, i64 8, !6, i64 16}
!30 = !{!"_ZTSN7sc_core16sc_sensitive_posUt_E", !7, i64 0}
!31 = !{!"_ZTSN7sc_core16sc_sensitive_negE", !6, i64 0, !32, i64 8, !6, i64 16}
!32 = !{!"_ZTSN7sc_core16sc_sensitive_negUt_E", !7, i64 0}
!33 = !{!"bool", !7, i64 0}
!34 = !{!"_ZTSN7sc_core5sc_inIbEE", !35, i64 0, !6, i64 152, !6, i64 160, !6, i64 168, !6, i64 176}
!35 = !{!"_ZTSN7sc_core7sc_portINS_15sc_signal_in_ifIbEELi1ELNS_14sc_port_policyE0EEE", !36, i64 0}
!36 = !{!"_ZTSN7sc_core9sc_port_bINS_15sc_signal_in_ifIbEEEE", !37, i64 0, !6, i64 120, !38, i64 128}
!37 = !{!"_ZTSN7sc_core12sc_port_baseE", !14, i64 0, !6, i64 112}
!38 = !{!"_ZTSSt6vectorIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !39, i64 0}
!39 = !{!"_ZTSSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE12_Vector_implE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!42 = distinct !{!42, !43}
!43 = !{!"llvm.loop.mustprogress"}


; 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.sc_dt::sc_lv" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv_base" = type { %"class.sc_dt::sc_proxy", i32, i32, ptr, ptr }
%"class.sc_dt::sc_proxy" = type { ptr }
%"class.sc_dt::sc_lv.0" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_logic" = type { i32 }
%"class.sc_dt::sc_lv.1" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv.2" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_concref_r" = type { %"class.sc_dt::sc_proxy.16", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.16" = type { ptr }
%"class.sc_dt::sc_concref" = type { %"class.sc_dt::sc_concref_r" }
%"class.sc_dt::sc_concref.17" = type { %"class.sc_dt::sc_concref_r.18" }
%"class.sc_dt::sc_concref_r.18" = type { %"class.sc_dt::sc_proxy.19", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.19" = type { ptr }
%"class.sc_dt::sc_concref.20" = type { %"class.sc_dt::sc_concref_r.21" }
%"class.sc_dt::sc_concref_r.21" = type { %"class.sc_dt::sc_proxy.22", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.22" = type { ptr }
%"class.sc_dt::sc_concref_r.23" = type { %"class.sc_dt::sc_proxy.24", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.24" = type { ptr }
%"class.sc_dt::sc_concref_r.25" = type { %"class.sc_dt::sc_proxy.26", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.26" = type { ptr }
%"class.sc_dt::sc_concref_r.27" = type { %"class.sc_dt::sc_proxy.28", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.28" = type { ptr }
%"class.sc_dt::sc_concref_r.29" = type { %"class.sc_dt::sc_proxy.30", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.30" = type { ptr }
%"class.sc_dt::sc_concref.31" = type { %"class.sc_dt::sc_concref_r.32" }
%"class.sc_dt::sc_concref_r.32" = type { %"class.sc_dt::sc_proxy.33", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.33" = type { ptr }
%"class.sc_dt::sc_subref" = type { %"class.sc_dt::sc_subref_r.base", [4 x i8] }
%"class.sc_dt::sc_subref_r.base" = type <{ %"class.sc_dt::sc_proxy.34", ptr, i32, i32, i32 }>
%"class.sc_dt::sc_proxy.34" = type { ptr }
%"class.sc_dt::sc_concref_r.35" = type { %"class.sc_dt::sc_proxy.36", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.36" = type { ptr }
%"class.sc_dt::sc_concref_r.37" = type { %"class.sc_dt::sc_proxy.38", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.38" = type { ptr }
%"class.sc_dt::sc_length_param" = type { i32 }
%"class.sc_dt::sc_concref.39" = type { %"class.sc_dt::sc_concref_r.40" }
%"class.sc_dt::sc_concref_r.40" = type { %"class.sc_dt::sc_proxy.41", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.41" = type { ptr }
%"class.sc_dt::sc_concref.42" = type { %"class.sc_dt::sc_concref_r.43" }
%"class.sc_dt::sc_concref_r.43" = type { %"class.sc_dt::sc_proxy.44", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.44" = type { ptr }

@.str = external hidden unnamed_addr constant [9 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [34 x i8], align 1

; Function Attrs: mustprogress noreturn uwtable
define dso_local void @_ZN4test5entryEv(ptr noundef nonnull align 8 dereferenceable(528) %0) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.sc_dt::sc_lv", align 8
  %3 = alloca %"class.sc_dt::sc_lv", align 8
  %4 = alloca %"class.sc_dt::sc_lv", align 8
  %5 = alloca %"class.sc_dt::sc_lv", align 8
  %6 = alloca %"class.sc_dt::sc_lv.0", align 8
  %7 = alloca %"class.sc_dt::sc_lv.0", align 8
  %8 = alloca %"class.sc_dt::sc_logic", align 4
  %9 = alloca %"class.sc_dt::sc_logic", align 4
  %10 = alloca %"class.sc_dt::sc_logic", align 4
  %11 = alloca %"class.sc_dt::sc_lv.1", align 8
  %12 = alloca %"class.sc_dt::sc_lv.1", align 8
  %13 = alloca %"class.sc_dt::sc_lv.1", align 8
  %14 = alloca %"class.sc_dt::sc_lv.2", align 8
  %15 = alloca %"class.sc_dt::sc_concref_r", align 8
  %16 = alloca %"class.sc_dt::sc_lv_base", align 8
  %17 = alloca %"class.sc_dt::sc_concref_r", align 8
  %18 = alloca %"class.sc_dt::sc_lv_base", align 8
  %19 = alloca %"class.sc_dt::sc_concref_r", align 8
  %20 = alloca %"class.sc_dt::sc_lv_base", align 8
  %21 = alloca %"class.sc_dt::sc_concref", align 8
  %22 = alloca %"class.sc_dt::sc_lv_base", align 8
  %23 = alloca %"class.sc_dt::sc_concref.17", align 8
  %24 = alloca %"class.sc_dt::sc_concref.20", align 8
  %25 = alloca %"class.sc_dt::sc_concref", align 8
  %26 = alloca %"class.sc_dt::sc_lv_base", align 8
  %27 = alloca %"class.sc_dt::sc_concref_r.23", align 8
  %28 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %29 = alloca %"class.sc_dt::sc_concref_r", align 8
  %30 = alloca %"class.sc_dt::sc_lv_base", align 8
  %31 = alloca %"class.sc_dt::sc_lv_base", align 8
  %32 = alloca %"class.sc_dt::sc_concref_r.27", align 8
  %33 = alloca %"class.sc_dt::sc_lv_base", align 8
  %34 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %35 = alloca %"class.sc_dt::sc_concref_r", align 8
  %36 = alloca %"class.sc_dt::sc_lv_base", align 8
  %37 = alloca %"class.sc_dt::sc_lv_base", align 8
  %38 = alloca %"class.sc_dt::sc_concref_r.29", align 8
  %39 = alloca %"class.sc_dt::sc_concref.31", align 8
  %40 = alloca %"class.sc_dt::sc_concref.20", align 8
  %41 = alloca %"class.sc_dt::sc_concref", align 8
  %42 = alloca %"class.sc_dt::sc_subref", align 8
  %43 = alloca %"class.sc_dt::sc_lv_base", align 8
  %44 = alloca %"class.sc_dt::sc_concref_r.35", align 8
  %45 = alloca %"class.sc_dt::sc_concref_r.37", align 8
  %46 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %47 = alloca %"class.sc_dt::sc_concref", align 8
  %48 = alloca %"class.sc_dt::sc_subref", align 8
  %49 = alloca %"class.sc_dt::sc_subref", align 8
  %50 = alloca %"class.sc_dt::sc_lv_base", align 8
  %51 = alloca %"class.sc_dt::sc_lv_base", align 8
  %52 = alloca %"class.sc_dt::sc_concref_r", align 8
  %53 = alloca %"class.sc_dt::sc_lv_base", align 8
  %54 = alloca %"class.sc_dt::sc_length_param", align 4
  %55 = alloca %"class.sc_dt::sc_concref.39", align 8
  %56 = alloca %"class.sc_dt::sc_subref", align 8
  %57 = alloca %"class.sc_dt::sc_concref_r", align 8
  %58 = alloca %"class.sc_dt::sc_lv_base", align 8
  %59 = alloca %"class.sc_dt::sc_length_param", align 4
  %60 = alloca %"class.sc_dt::sc_concref.42", align 8
  %61 = alloca %"class.sc_dt::sc_subref", align 8
  %62 = alloca %"class.sc_dt::sc_concref_r", align 8
  %63 = alloca %"class.sc_dt::sc_lv_base", align 8
  %64 = alloca %"class.sc_dt::sc_length_param", align 4
  %65 = alloca %"class.sc_dt::sc_lv_base", align 8
  %66 = alloca %"class.sc_dt::sc_concref_r", align 8
  %67 = alloca %"class.sc_dt::sc_lv_base", align 8
  %68 = alloca %"class.sc_dt::sc_lv_base", align 8
  %69 = alloca %"class.sc_dt::sc_lv_base", align 8
  %70 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2) #7
  call void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #7
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %71 unwind label %217

71:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #7
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %72 unwind label %219

72:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #7
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %73 unwind label %221

73:                                               ; preds = %72
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #7
  invoke void @_ZN5sc_dt5sc_lvILi24EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %74 unwind label %223

74:                                               ; preds = %73
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  invoke void @_ZN5sc_dt5sc_lvILi24EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %75 unwind label %225

75:                                               ; preds = %74
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #7
  call void @_ZN5sc_dt8sc_logicC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %8)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #7
  call void @_ZN5sc_dt8sc_logicC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %9)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #7
  call void @_ZN5sc_dt8sc_logicC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %10)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %76 unwind label %227

76:                                               ; preds = %75
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #7
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %77 unwind label %229

77:                                               ; preds = %76
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #7
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %78 unwind label %231

78:                                               ; preds = %77
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #7
  invoke void @_ZN5sc_dt5sc_lvILi2EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %.preheader unwind label %233

.preheader:                                       ; preds = %78
  %79 = getelementptr inbounds i8, ptr %0, i64 488
  br label %80

80:                                               ; preds = %.preheader, %216
  invoke void @_ZN7sc_core9sc_module4waitEv(ptr noundef nonnull align 8 dereferenceable(232) %0)
          to label %81 unwind label %235

81:                                               ; preds = %80
  %82 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull @.str)
          to label %83 unwind label %235

83:                                               ; preds = %81
  %84 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.2)
          to label %85 unwind label %235

85:                                               ; preds = %83
  %86 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.3)
          to label %87 unwind label %235

87:                                               ; preds = %85
  %88 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.4)
          to label %89 unwind label %235

89:                                               ; preds = %87
  %90 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi24EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull @.str.5)
          to label %91 unwind label %235

91:                                               ; preds = %89
  %92 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi24EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.6)
          to label %93 unwind label %235

93:                                               ; preds = %91
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #7
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull @.str.7)
          to label %94 unwind label %237

94:                                               ; preds = %93
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %15, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.8)
          to label %95 unwind label %239

95:                                               ; preds = %94
  %96 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %97 unwind label %241

97:                                               ; preds = %95
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %17) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIS1_T_EEPKcRNS_8sc_proxyIS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %17, ptr noundef nonnull @.str.7, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %98 unwind label %245

98:                                               ; preds = %97
  %99 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %100 unwind label %247

100:                                              ; preds = %98
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #7
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %18, ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %101 unwind label %250

101:                                              ; preds = %100
  %102 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %103 unwind label %252

103:                                              ; preds = %101
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %19) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %19, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull @.str.9)
          to label %104 unwind label %255

104:                                              ; preds = %103
  %105 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %106 unwind label %257

106:                                              ; preds = %104
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #7
  invoke void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %20, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %107 unwind label %260

107:                                              ; preds = %106
  %108 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %109 unwind label %262

109:                                              ; preds = %107
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %21) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %21, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %110 unwind label %265

110:                                              ; preds = %109
  %111 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %112 unwind label %267

112:                                              ; preds = %110
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #7
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %22, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %113 unwind label %270

113:                                              ; preds = %112
  %114 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %115 unwind label %272

115:                                              ; preds = %113
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %23) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %25, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %116 unwind label %275

116:                                              ; preds = %115
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.20") align 8 %24, ptr noundef nonnull %25, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %117 unwind label %277

117:                                              ; preds = %116
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.17") align 8 %23, ptr noundef nonnull %24, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %118 unwind label %279

118:                                              ; preds = %117
  %119 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_concrefINS4_INS_10sc_lv_baseES5_EES5_EES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %120 unwind label %281

120:                                              ; preds = %118
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  invoke void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %26, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %121 unwind label %286

121:                                              ; preds = %120
  %122 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %123 unwind label %288

123:                                              ; preds = %121
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #7
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.3)
          to label %124 unwind label %291

124:                                              ; preds = %123
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %29, ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull @.str.3)
          to label %125 unwind label %293

125:                                              ; preds = %124
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EES5_PKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %28, ptr noundef nonnull %29, ptr noundef nonnull @.str.3)
          to label %126 unwind label %295

126:                                              ; preds = %125
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_EENS1_INS1_IT_T0_EES2_EES6_PKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.23") align 8 %27, ptr noundef nonnull %28, ptr noundef nonnull @.str.3)
          to label %127 unwind label %297

127:                                              ; preds = %126
  %128 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS3_INS_10sc_lv_baseES4_EES4_EES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %129 unwind label %299

129:                                              ; preds = %127
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #7
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %31, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %130 unwind label %305

130:                                              ; preds = %129
  %131 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %132 unwind label %307

132:                                              ; preds = %130
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #7
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.3)
          to label %133 unwind label %310

133:                                              ; preds = %132
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #7
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.10)
          to label %134 unwind label %312

134:                                              ; preds = %133
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %35, ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull @.str.3)
          to label %135 unwind label %314

135:                                              ; preds = %134
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EES5_PKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %34, ptr noundef nonnull %35, ptr noundef nonnull @.str.3)
          to label %136 unwind label %316

136:                                              ; preds = %135
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseENS_12sc_concref_rIS1_S1_EES1_EENS2_IT_NS2_IT0_T1_EEEERKNS_8sc_proxyIS4_EES7_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.27") align 8 %32, ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull %34)
          to label %137 unwind label %318

137:                                              ; preds = %136
  %138 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseENS3_INS3_IS4_S4_EES4_EEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %139 unwind label %320

139:                                              ; preds = %137
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS0_INS0_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #7
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %37, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %140 unwind label %327

140:                                              ; preds = %139
  %141 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %142 unwind label %329

142:                                              ; preds = %140
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  %143 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5sc_dt8sc_logicaSEc(ptr noundef nonnull align 4 dereferenceable(4) %10, i8 noundef signext 48)
          to label %144 unwind label %235

144:                                              ; preds = %142
  %145 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5sc_dt8sc_logicaSEc(ptr noundef nonnull align 4 dereferenceable(4) %9, i8 noundef signext 49)
          to label %146 unwind label %235

146:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %38) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %41, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %147 unwind label %332

147:                                              ; preds = %146
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.20") align 8 %40, ptr noundef nonnull %41, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %148 unwind label %334

148:                                              ; preds = %147
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %42, ptr noundef nonnull align 8 dereferenceable(8) %5, i32 noundef 6, i32 noundef 0)
          to label %149 unwind label %336

149:                                              ; preds = %148
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_9sc_subrefIT1_EEEES6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.31") align 8 %39, ptr noundef nonnull %40, ptr noundef nonnull %42)
          to label %150 unwind label %338

150:                                              ; preds = %149
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEENS_12sc_concref_rINS7_IT_T0_EES2_EENS1_IS8_S9_EERKNS_8sc_logicE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.29") align 8 %38, ptr noundef nonnull %39, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %151 unwind label %340

151:                                              ; preds = %150
  %152 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS_10sc_concrefINS4_INS_10sc_lv_baseES5_EES5_EENS_9sc_subrefIS5_EEEES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %153 unwind label %342

153:                                              ; preds = %151
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %42) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #7
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %43, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %154 unwind label %349

154:                                              ; preds = %153
  %155 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %156 unwind label %351

156:                                              ; preds = %154
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  %157 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5sc_dt8sc_logicaSEc(ptr noundef nonnull align 4 dereferenceable(4) %8, i8 noundef signext 49)
          to label %158 unwind label %235

158:                                              ; preds = %156
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %44) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %47, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %159 unwind label %354

159:                                              ; preds = %158
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EENS_10sc_concrefIS3_S4_EERKNS_8sc_logicE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %46, ptr noundef nonnull %47, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %160 unwind label %356

160:                                              ; preds = %159
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %48, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef 6, i32 noundef 0)
          to label %161 unwind label %358

161:                                              ; preds = %160
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_11sc_subref_rIT1_EEEES6_NS_9sc_subrefIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.37") align 8 %45, ptr noundef nonnull %46, ptr noundef nonnull %48)
          to label %162 unwind label %360

162:                                              ; preds = %161
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %49, ptr noundef nonnull align 8 dereferenceable(8) %11, i32 noundef 7, i32 noundef 0)
          to label %163 unwind label %362

163:                                              ; preds = %162
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EENS_11sc_subref_rIS2_EES2_EENS1_INS1_IT_T0_EENS5_IT1_EEEES9_NS_9sc_subrefISA_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.35") align 8 %44, ptr noundef nonnull %45, ptr noundef nonnull %49)
          to label %164 unwind label %364

164:                                              ; preds = %163
  %165 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS3_INS3_INS_10sc_lv_baseES4_EES4_EENS_11sc_subref_rIS4_EEEES8_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %166 unwind label %366

166:                                              ; preds = %164
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_11sc_subref_rIS1_EEEES5_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %49) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_11sc_subref_rIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %48) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #7
  invoke void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %50, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %167 unwind label %374

167:                                              ; preds = %166
  %168 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %50)
          to label %169 unwind label %376

169:                                              ; preds = %167
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #7
  invoke void @_ZN5sc_dt15sc_length_paramC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %54)
          to label %170 unwind label %379

170:                                              ; preds = %169
  %171 = call noundef i32 @_ZNK5sc_dt15sc_length_param3lenEv(ptr noundef nonnull align 4 dereferenceable(4) %54)
  invoke void @_ZN5sc_dt10sc_lv_baseC2ERKNS_8sc_logicEi(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 4 dereferenceable(4) %8, i32 noundef %171)
          to label %172 unwind label %379

172:                                              ; preds = %170
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EERKNS_8sc_logicE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %52, ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %173 unwind label %381

173:                                              ; preds = %172
  invoke void @_ZNK5sc_dt8sc_proxyINS_12sc_concref_rINS_10sc_lv_baseES2_EEEcoEv(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %51, ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %174 unwind label %383

174:                                              ; preds = %173
  %175 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi2EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %176 unwind label %385

176:                                              ; preds = %174
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %55) #7
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %56, ptr noundef nonnull align 8 dereferenceable(8) %13, i32 noundef 31, i32 noundef 2)
          to label %177 unwind label %390

177:                                              ; preds = %176
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EET0_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.39") align 8 %55, ptr noundef nonnull %56, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %178 unwind label %392

178:                                              ; preds = %177
  %179 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %55)
          to label %180 unwind label %394

180:                                              ; preds = %178
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %56) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %57) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %59) #7
  invoke void @_ZN5sc_dt15sc_length_paramC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %59)
          to label %181 unwind label %398

181:                                              ; preds = %180
  %182 = call noundef i32 @_ZNK5sc_dt15sc_length_param3lenEv(ptr noundef nonnull align 4 dereferenceable(4) %59)
  invoke void @_ZN5sc_dt10sc_lv_baseC2ERKNS_8sc_logicEi(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 4 dereferenceable(4) %9, i32 noundef %182)
          to label %183 unwind label %398

183:                                              ; preds = %181
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EERKNS_8sc_logicE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %57, ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %184 unwind label %400

184:                                              ; preds = %183
  %185 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi2EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %186 unwind label %402

186:                                              ; preds = %184
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %57) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %57) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %60) #7
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %61, ptr noundef nonnull align 8 dereferenceable(8) %13, i32 noundef 29, i32 noundef 0)
          to label %187 unwind label %406

187:                                              ; preds = %186
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_NS_9sc_subrefIT0_EEEERNS_8sc_proxyIS3_EES6_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.42") align 8 %60, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull %61)
          to label %188 unwind label %408

188:                                              ; preds = %187
  %189 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseENS_9sc_subrefIS4_EEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %190 unwind label %410

190:                                              ; preds = %188
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_9sc_subrefIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %60) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %61) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %62) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %64) #7
  invoke void @_ZN5sc_dt15sc_length_paramC2Ev(ptr noundef nonnull align 4 dereferenceable(4) %64)
          to label %191 unwind label %414

191:                                              ; preds = %190
  %192 = call noundef i32 @_ZNK5sc_dt15sc_length_param3lenEv(ptr noundef nonnull align 4 dereferenceable(4) %64)
  invoke void @_ZN5sc_dt10sc_lv_baseC2ERKNS_8sc_logicEi(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 4 dereferenceable(4) %9, i32 noundef %192)
          to label %193 unwind label %414

193:                                              ; preds = %191
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %62, ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull @.str.11)
          to label %194 unwind label %416

194:                                              ; preds = %193
  %195 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %196 unwind label %418

196:                                              ; preds = %194
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %62) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #7
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %65, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %197 unwind label %422

197:                                              ; preds = %196
  %198 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %199 unwind label %424

199:                                              ; preds = %197
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %66) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #7
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.11)
          to label %200 unwind label %427

200:                                              ; preds = %199
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EERKNS_8sc_logicE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %66, ptr noundef nonnull align 8 dereferenceable(8) %67, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %201 unwind label %429

201:                                              ; preds = %200
  %202 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %203 unwind label %431

203:                                              ; preds = %201
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %66) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %66) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #7
  invoke void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %68, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %204 unwind label %435

204:                                              ; preds = %203
  %205 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %206 unwind label %437

206:                                              ; preds = %204
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #7
  %207 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.12)
          to label %208 unwind label %235

208:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #7
  invoke void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %69, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %209 unwind label %440

209:                                              ; preds = %208
  %210 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %211 unwind label %442

211:                                              ; preds = %209
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #7
  %212 = invoke noundef i32 @_ZNK5sc_dt8sc_proxyINS_10sc_lv_baseEE6to_intEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %213 unwind label %445

213:                                              ; preds = %211
  store i32 %212, ptr %70, align 4, !tbaa !5
  %214 = load ptr, ptr %79, align 8, !tbaa !9
  %215 = invoke noundef nonnull align 8 dereferenceable(196) ptr @_ZN7sc_core9sc_signalIiLNS_16sc_writer_policyE0EEaSERKi(ptr noundef nonnull align 8 dereferenceable(196) %214, ptr noundef nonnull align 4 dereferenceable(4) %70)
          to label %216 unwind label %445

216:                                              ; preds = %213
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #7
  invoke void @_ZN7sc_core9sc_module4waitEv(ptr noundef nonnull align 8 dereferenceable(232) %0)
          to label %80 unwind label %235, !llvm.loop !41

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

219:                                              ; preds = %71
  %220 = landingpad { ptr, i32 }
          cleanup
  br label %455

221:                                              ; preds = %72
  %222 = landingpad { ptr, i32 }
          cleanup
  br label %454

223:                                              ; preds = %73
  %224 = landingpad { ptr, i32 }
          cleanup
  br label %453

225:                                              ; preds = %74
  %226 = landingpad { ptr, i32 }
          cleanup
  br label %452

227:                                              ; preds = %75
  %228 = landingpad { ptr, i32 }
          cleanup
  br label %451

229:                                              ; preds = %76
  %230 = landingpad { ptr, i32 }
          cleanup
  br label %450

231:                                              ; preds = %77
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %449

233:                                              ; preds = %78
  %234 = landingpad { ptr, i32 }
          cleanup
  br label %448

235:                                              ; preds = %216, %206, %156, %144, %142, %91, %89, %87, %85, %83, %81, %80
  %236 = landingpad { ptr, i32 }
          cleanup
  br label %447

237:                                              ; preds = %93
  %238 = landingpad { ptr, i32 }
          cleanup
  br label %244

239:                                              ; preds = %94
  %240 = landingpad { ptr, i32 }
          cleanup
  br label %243

241:                                              ; preds = %95
  %242 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #7
  br label %243

243:                                              ; preds = %241, %239
  %.pn = phi { ptr, i32 } [ %242, %241 ], [ %240, %239 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %244

244:                                              ; preds = %243, %237
  %.pn.pn = phi { ptr, i32 } [ %.pn, %243 ], [ %238, %237 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #7
  br label %447

245:                                              ; preds = %97
  %246 = landingpad { ptr, i32 }
          cleanup
  br label %249

247:                                              ; preds = %98
  %248 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #7
  br label %249

249:                                              ; preds = %247, %245
  %.pn73 = phi { ptr, i32 } [ %248, %247 ], [ %246, %245 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %17) #7
  br label %447

250:                                              ; preds = %100
  %251 = landingpad { ptr, i32 }
          cleanup
  br label %254

252:                                              ; preds = %101
  %253 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %254

254:                                              ; preds = %252, %250
  %.pn75 = phi { ptr, i32 } [ %253, %252 ], [ %251, %250 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  br label %447

255:                                              ; preds = %103
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %259

257:                                              ; preds = %104
  %258 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #7
  br label %259

259:                                              ; preds = %257, %255
  %.pn77 = phi { ptr, i32 } [ %258, %257 ], [ %256, %255 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %19) #7
  br label %447

260:                                              ; preds = %106
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %264

262:                                              ; preds = %107
  %263 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %264

264:                                              ; preds = %262, %260
  %.pn79 = phi { ptr, i32 } [ %263, %262 ], [ %261, %260 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  br label %447

265:                                              ; preds = %109
  %266 = landingpad { ptr, i32 }
          cleanup
  br label %269

267:                                              ; preds = %110
  %268 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #7
  br label %269

269:                                              ; preds = %267, %265
  %.pn81 = phi { ptr, i32 } [ %268, %267 ], [ %266, %265 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21) #7
  br label %447

270:                                              ; preds = %112
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %274

272:                                              ; preds = %113
  %273 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %274

274:                                              ; preds = %272, %270
  %.pn83 = phi { ptr, i32 } [ %273, %272 ], [ %271, %270 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %447

275:                                              ; preds = %115
  %276 = landingpad { ptr, i32 }
          cleanup
  br label %285

277:                                              ; preds = %116
  %278 = landingpad { ptr, i32 }
          cleanup
  br label %284

279:                                              ; preds = %117
  %280 = landingpad { ptr, i32 }
          cleanup
  br label %283

281:                                              ; preds = %118
  %282 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #7
  br label %283

283:                                              ; preds = %281, %279
  %.pn85 = phi { ptr, i32 } [ %282, %281 ], [ %280, %279 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #7
  br label %284

284:                                              ; preds = %283, %277
  %.pn85.pn = phi { ptr, i32 } [ %.pn85, %283 ], [ %278, %277 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #7
  br label %285

285:                                              ; preds = %284, %275
  %.pn85.pn.pn = phi { ptr, i32 } [ %.pn85.pn, %284 ], [ %276, %275 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %23) #7
  br label %447

286:                                              ; preds = %120
  %287 = landingpad { ptr, i32 }
          cleanup
  br label %290

288:                                              ; preds = %121
  %289 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %290

290:                                              ; preds = %288, %286
  %.pn89 = phi { ptr, i32 } [ %289, %288 ], [ %287, %286 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %447

291:                                              ; preds = %123
  %292 = landingpad { ptr, i32 }
          cleanup
  br label %304

293:                                              ; preds = %124
  %294 = landingpad { ptr, i32 }
          cleanup
  br label %303

295:                                              ; preds = %125
  %296 = landingpad { ptr, i32 }
          cleanup
  br label %302

297:                                              ; preds = %126
  %298 = landingpad { ptr, i32 }
          cleanup
  br label %301

299:                                              ; preds = %127
  %300 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #7
  br label %301

301:                                              ; preds = %299, %297
  %.pn91 = phi { ptr, i32 } [ %300, %299 ], [ %298, %297 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  br label %302

302:                                              ; preds = %301, %295
  %.pn91.pn = phi { ptr, i32 } [ %.pn91, %301 ], [ %296, %295 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #7
  br label %303

303:                                              ; preds = %302, %293
  %.pn91.pn.pn = phi { ptr, i32 } [ %.pn91.pn, %302 ], [ %294, %293 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %304

304:                                              ; preds = %303, %291
  %.pn91.pn.pn.pn = phi { ptr, i32 } [ %.pn91.pn.pn, %303 ], [ %292, %291 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %27) #7
  br label %447

305:                                              ; preds = %129
  %306 = landingpad { ptr, i32 }
          cleanup
  br label %309

307:                                              ; preds = %130
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %309

309:                                              ; preds = %307, %305
  %.pn96 = phi { ptr, i32 } [ %308, %307 ], [ %306, %305 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  br label %447

310:                                              ; preds = %132
  %311 = landingpad { ptr, i32 }
          cleanup
  br label %326

312:                                              ; preds = %133
  %313 = landingpad { ptr, i32 }
          cleanup
  br label %325

314:                                              ; preds = %134
  %315 = landingpad { ptr, i32 }
          cleanup
  br label %324

316:                                              ; preds = %135
  %317 = landingpad { ptr, i32 }
          cleanup
  br label %323

318:                                              ; preds = %136
  %319 = landingpad { ptr, i32 }
          cleanup
  br label %322

320:                                              ; preds = %137
  %321 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS0_INS0_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #7
  br label %322

322:                                              ; preds = %320, %318
  %.pn98 = phi { ptr, i32 } [ %321, %320 ], [ %319, %318 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #7
  br label %323

323:                                              ; preds = %322, %316
  %.pn98.pn = phi { ptr, i32 } [ %.pn98, %322 ], [ %317, %316 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #7
  br label %324

324:                                              ; preds = %323, %314
  %.pn98.pn.pn = phi { ptr, i32 } [ %.pn98.pn, %323 ], [ %315, %314 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %325

325:                                              ; preds = %324, %312
  %.pn98.pn.pn.pn = phi { ptr, i32 } [ %.pn98.pn.pn, %324 ], [ %313, %312 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %326

326:                                              ; preds = %325, %310
  %.pn98.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn98.pn.pn.pn, %325 ], [ %311, %310 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %32) #7
  br label %447

327:                                              ; preds = %139
  %328 = landingpad { ptr, i32 }
          cleanup
  br label %331

329:                                              ; preds = %140
  %330 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %331

331:                                              ; preds = %329, %327
  %.pn104 = phi { ptr, i32 } [ %330, %329 ], [ %328, %327 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  br label %447

332:                                              ; preds = %146
  %333 = landingpad { ptr, i32 }
          cleanup
  br label %348

334:                                              ; preds = %147
  %335 = landingpad { ptr, i32 }
          cleanup
  br label %347

336:                                              ; preds = %148
  %337 = landingpad { ptr, i32 }
          cleanup
  br label %346

338:                                              ; preds = %149
  %339 = landingpad { ptr, i32 }
          cleanup
  br label %345

340:                                              ; preds = %150
  %341 = landingpad { ptr, i32 }
          cleanup
  br label %344

342:                                              ; preds = %151
  %343 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #7
  br label %344

344:                                              ; preds = %342, %340
  %.pn106 = phi { ptr, i32 } [ %343, %342 ], [ %341, %340 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #7
  br label %345

345:                                              ; preds = %344, %338
  %.pn106.pn = phi { ptr, i32 } [ %.pn106, %344 ], [ %339, %338 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %42) #7
  br label %346

346:                                              ; preds = %345, %336
  %.pn106.pn.pn = phi { ptr, i32 } [ %.pn106.pn, %345 ], [ %337, %336 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #7
  br label %347

347:                                              ; preds = %346, %334
  %.pn106.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn, %346 ], [ %335, %334 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #7
  br label %348

348:                                              ; preds = %347, %332
  %.pn106.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn, %347 ], [ %333, %332 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %38) #7
  br label %447

349:                                              ; preds = %153
  %350 = landingpad { ptr, i32 }
          cleanup
  br label %353

351:                                              ; preds = %154
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %353

353:                                              ; preds = %351, %349
  %.pn112 = phi { ptr, i32 } [ %352, %351 ], [ %350, %349 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %447

354:                                              ; preds = %158
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %373

356:                                              ; preds = %159
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %372

358:                                              ; preds = %160
  %359 = landingpad { ptr, i32 }
          cleanup
  br label %371

360:                                              ; preds = %161
  %361 = landingpad { ptr, i32 }
          cleanup
  br label %370

362:                                              ; preds = %162
  %363 = landingpad { ptr, i32 }
          cleanup
  br label %369

364:                                              ; preds = %163
  %365 = landingpad { ptr, i32 }
          cleanup
  br label %368

366:                                              ; preds = %164
  %367 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_11sc_subref_rIS1_EEEES5_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #7
  br label %368

368:                                              ; preds = %366, %364
  %.pn114 = phi { ptr, i32 } [ %367, %366 ], [ %365, %364 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %49) #7
  br label %369

369:                                              ; preds = %368, %362
  %.pn114.pn = phi { ptr, i32 } [ %.pn114, %368 ], [ %363, %362 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_11sc_subref_rIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #7
  br label %370

370:                                              ; preds = %369, %360
  %.pn114.pn.pn = phi { ptr, i32 } [ %.pn114.pn, %369 ], [ %361, %360 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %48) #7
  br label %371

371:                                              ; preds = %370, %358
  %.pn114.pn.pn.pn = phi { ptr, i32 } [ %.pn114.pn.pn, %370 ], [ %359, %358 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #7
  br label %372

372:                                              ; preds = %371, %356
  %.pn114.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn114.pn.pn.pn, %371 ], [ %357, %356 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #7
  br label %373

373:                                              ; preds = %372, %354
  %.pn114.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn114.pn.pn.pn.pn, %372 ], [ %355, %354 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %44) #7
  br label %447

374:                                              ; preds = %166
  %375 = landingpad { ptr, i32 }
          cleanup
  br label %378

376:                                              ; preds = %167
  %377 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %378

378:                                              ; preds = %376, %374
  %.pn121 = phi { ptr, i32 } [ %377, %376 ], [ %375, %374 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  br label %447

379:                                              ; preds = %170, %169
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %389

381:                                              ; preds = %172
  %382 = landingpad { ptr, i32 }
          cleanup
  br label %388

383:                                              ; preds = %173
  %384 = landingpad { ptr, i32 }
          cleanup
  br label %387

385:                                              ; preds = %174
  %386 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %387

387:                                              ; preds = %385, %383
  %.pn123 = phi { ptr, i32 } [ %386, %385 ], [ %384, %383 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #7
  br label %388

388:                                              ; preds = %387, %381
  %.pn123.pn = phi { ptr, i32 } [ %.pn123, %387 ], [ %382, %381 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %389

389:                                              ; preds = %388, %379
  %.pn123.pn.pn = phi { ptr, i32 } [ %.pn123.pn, %388 ], [ %380, %379 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  br label %447

390:                                              ; preds = %176
  %391 = landingpad { ptr, i32 }
          cleanup
  br label %397

392:                                              ; preds = %177
  %393 = landingpad { ptr, i32 }
          cleanup
  br label %396

394:                                              ; preds = %178
  %395 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #7
  br label %396

396:                                              ; preds = %394, %392
  %.pn127 = phi { ptr, i32 } [ %395, %394 ], [ %393, %392 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %56) #7
  br label %397

397:                                              ; preds = %396, %390
  %.pn127.pn = phi { ptr, i32 } [ %.pn127, %396 ], [ %391, %390 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %55) #7
  br label %447

398:                                              ; preds = %181, %180
  %399 = landingpad { ptr, i32 }
          cleanup
  br label %405

400:                                              ; preds = %183
  %401 = landingpad { ptr, i32 }
          cleanup
  br label %404

402:                                              ; preds = %184
  %403 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %57) #7
  br label %404

404:                                              ; preds = %402, %400
  %.pn130 = phi { ptr, i32 } [ %403, %402 ], [ %401, %400 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %405

405:                                              ; preds = %404, %398
  %.pn130.pn = phi { ptr, i32 } [ %.pn130, %404 ], [ %399, %398 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %57) #7
  br label %447

406:                                              ; preds = %186
  %407 = landingpad { ptr, i32 }
          cleanup
  br label %413

408:                                              ; preds = %187
  %409 = landingpad { ptr, i32 }
          cleanup
  br label %412

410:                                              ; preds = %188
  %411 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_9sc_subrefIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %60) #7
  br label %412

412:                                              ; preds = %410, %408
  %.pn133 = phi { ptr, i32 } [ %411, %410 ], [ %409, %408 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %61) #7
  br label %413

413:                                              ; preds = %412, %406
  %.pn133.pn = phi { ptr, i32 } [ %.pn133, %412 ], [ %407, %406 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %60) #7
  br label %447

414:                                              ; preds = %191, %190
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %421

416:                                              ; preds = %193
  %417 = landingpad { ptr, i32 }
          cleanup
  br label %420

418:                                              ; preds = %194
  %419 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #7
  br label %420

420:                                              ; preds = %418, %416
  %.pn136 = phi { ptr, i32 } [ %419, %418 ], [ %417, %416 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  br label %421

421:                                              ; preds = %420, %414
  %.pn136.pn = phi { ptr, i32 } [ %.pn136, %420 ], [ %415, %414 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %62) #7
  br label %447

422:                                              ; preds = %196
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %426

424:                                              ; preds = %197
  %425 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  br label %426

426:                                              ; preds = %424, %422
  %.pn139 = phi { ptr, i32 } [ %425, %424 ], [ %423, %422 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #7
  br label %447

427:                                              ; preds = %199
  %428 = landingpad { ptr, i32 }
          cleanup
  br label %434

429:                                              ; preds = %200
  %430 = landingpad { ptr, i32 }
          cleanup
  br label %433

431:                                              ; preds = %201
  %432 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %66) #7
  br label %433

433:                                              ; preds = %431, %429
  %.pn141 = phi { ptr, i32 } [ %432, %431 ], [ %430, %429 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  br label %434

434:                                              ; preds = %433, %427
  %.pn141.pn = phi { ptr, i32 } [ %.pn141, %433 ], [ %428, %427 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %66) #7
  br label %447

435:                                              ; preds = %203
  %436 = landingpad { ptr, i32 }
          cleanup
  br label %439

437:                                              ; preds = %204
  %438 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %439

439:                                              ; preds = %437, %435
  %.pn144 = phi { ptr, i32 } [ %438, %437 ], [ %436, %435 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #7
  br label %447

440:                                              ; preds = %208
  %441 = landingpad { ptr, i32 }
          cleanup
  br label %444

442:                                              ; preds = %209
  %443 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %444

444:                                              ; preds = %442, %440
  %.pn146 = phi { ptr, i32 } [ %443, %442 ], [ %441, %440 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #7
  br label %447

445:                                              ; preds = %213, %211
  %446 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #7
  br label %447

447:                                              ; preds = %445, %444, %439, %434, %426, %421, %413, %405, %397, %389, %378, %373, %353, %348, %331, %326, %309, %304, %290, %285, %274, %269, %264, %259, %254, %249, %244, %235
  %.pn148 = phi { ptr, i32 } [ %236, %235 ], [ %446, %445 ], [ %.pn146, %444 ], [ %.pn144, %439 ], [ %.pn141.pn, %434 ], [ %.pn139, %426 ], [ %.pn136.pn, %421 ], [ %.pn133.pn, %413 ], [ %.pn130.pn, %405 ], [ %.pn127.pn, %397 ], [ %.pn123.pn.pn, %389 ], [ %.pn121, %378 ], [ %.pn114.pn.pn.pn.pn.pn, %373 ], [ %.pn112, %353 ], [ %.pn106.pn.pn.pn.pn, %348 ], [ %.pn104, %331 ], [ %.pn98.pn.pn.pn.pn, %326 ], [ %.pn96, %309 ], [ %.pn91.pn.pn.pn, %304 ], [ %.pn89, %290 ], [ %.pn85.pn.pn, %285 ], [ %.pn83, %274 ], [ %.pn81, %269 ], [ %.pn79, %264 ], [ %.pn77, %259 ], [ %.pn75, %254 ], [ %.pn73, %249 ], [ %.pn.pn, %244 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %448

448:                                              ; preds = %447, %233
  %.pn148.pn = phi { ptr, i32 } [ %.pn148, %447 ], [ %234, %233 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %449

449:                                              ; preds = %448, %231
  %.pn148.pn.pn = phi { ptr, i32 } [ %.pn148.pn, %448 ], [ %232, %231 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %450

450:                                              ; preds = %449, %229
  %.pn148.pn.pn.pn = phi { ptr, i32 } [ %.pn148.pn.pn, %449 ], [ %230, %229 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %451

451:                                              ; preds = %450, %227
  %.pn148.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn148.pn.pn.pn, %450 ], [ %228, %227 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  call void @_ZN5sc_dt8sc_logicD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  call void @_ZN5sc_dt8sc_logicD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #7
  call void @_ZN5sc_dt8sc_logicD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %8) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %452

452:                                              ; preds = %451, %225
  %.pn148.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn148.pn.pn.pn.pn, %451 ], [ %226, %225 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  br label %453

453:                                              ; preds = %452, %223
  %.pn148.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn148.pn.pn.pn.pn.pn, %452 ], [ %224, %223 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %454

454:                                              ; preds = %453, %221
  %.pn148.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn148.pn.pn.pn.pn.pn.pn, %453 ], [ %222, %221 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  br label %455

455:                                              ; preds = %454, %219
  %.pn148.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn148.pn.pn.pn.pn.pn.pn.pn, %454 ], [ %220, %219 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  br label %456

456:                                              ; preds = %455, %217
  %.pn148.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn148.pn.pn.pn.pn.pn.pn.pn.pn, %455 ], [ %218, %217 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #7
  resume { ptr, i32 } %.pn148.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #4

declare void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) unnamed_addr #5

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIS1_T_EEPKcRNS_8sc_proxyIS3_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtanINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.17") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.20") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_EENS1_INS1_IT_T0_EES2_EES6_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.23") align 8, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EES5_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.25") align 8, ptr noundef, ptr noundef) local_unnamed_addr #4

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseENS_12sc_concref_rIS1_S1_EES1_EENS2_IT_NS2_IT0_T1_EEEERKNS_8sc_proxyIS4_EES7_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.27") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #4

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5sc_dt8sc_logicaSEc(ptr noundef nonnull align 4 dereferenceable(4), i8 noundef signext) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEENS_12sc_concref_rINS7_IT_T0_EES2_EENS1_IS8_S9_EERKNS_8sc_logicE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.29") align 8, ptr noundef, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_9sc_subrefIT1_EEEES6_S9_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.31") align 8, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_subref") align 8, ptr noundef nonnull align 8 dereferenceable(8), i32 noundef, i32 noundef) local_unnamed_addr #2 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EENS_11sc_subref_rIS2_EES2_EENS1_INS1_IT_T0_EENS5_IT1_EEEES9_NS_9sc_subrefISA_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.35") align 8, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_11sc_subref_rIT1_EEEES6_NS_9sc_subrefIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.37") align 8, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EENS_10sc_concrefIS3_S4_EERKNS_8sc_logicE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.25") align 8, ptr noundef, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EERKNS_8sc_logicE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK5sc_dt15sc_length_param3lenEv(ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #6 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5sc_dt8sc_proxyINS_12sc_concref_rINS_10sc_lv_baseES2_EEEcoEv(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EET0_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.39") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_NS_9sc_subrefIT0_EEEERNS_8sc_proxyIS3_EES6_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.42") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

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

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

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

!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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !13, i64 488}
!10 = !{!"_ZTS4test", !11, i64 0, !33, i64 232, !13, i64 416, !13, i64 424, !13, i64 432, !13, i64 440, !13, i64 448, !13, i64 456, !13, i64 464, !13, i64 472, !13, i64 480, !13, i64 488, !13, i64 496, !13, i64 504, !13, i64 512, !13, i64 520}
!11 = !{!"_ZTSN7sc_core9sc_moduleE", !12, i64 0, !25, i64 112, !26, i64 120, !28, i64 144, !30, i64 168, !32, i64 192, !13, i64 200, !6, i64 208, !13, i64 216, !13, i64 224}
!12 = !{!"_ZTSN7sc_core9sc_objectE", !13, i64 8, !14, i64 16, !18, i64 40, !22, i64 64, !13, i64 96, !13, i64 104}
!13 = !{!"any pointer", !7, i64 0}
!14 = !{!"_ZTSSt6vectorIPN7sc_core8sc_eventESaIS2_EE", !15, i64 0}
!15 = !{!"_ZTSSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE12_Vector_implE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!18 = !{!"_ZTSSt6vectorIPN7sc_core9sc_objectESaIS2_EE", !19, i64 0}
!19 = !{!"_ZTSSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE12_Vector_implE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!22 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !23, i64 0, !24, i64 8, !7, i64 16}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !13, i64 0}
!24 = !{!"long", !7, i64 0}
!25 = !{!"_ZTSN7sc_core15sc_process_hostE"}
!26 = !{!"_ZTSN7sc_core12sc_sensitiveE", !13, i64 0, !27, i64 8, !13, i64 16}
!27 = !{!"_ZTSN7sc_core12sc_sensitiveUt_E", !7, i64 0}
!28 = !{!"_ZTSN7sc_core16sc_sensitive_posE", !13, i64 0, !29, i64 8, !13, i64 16}
!29 = !{!"_ZTSN7sc_core16sc_sensitive_posUt_E", !7, i64 0}
!30 = !{!"_ZTSN7sc_core16sc_sensitive_negE", !13, i64 0, !31, i64 8, !13, i64 16}
!31 = !{!"_ZTSN7sc_core16sc_sensitive_negUt_E", !7, i64 0}
!32 = !{!"bool", !7, i64 0}
!33 = !{!"_ZTSN7sc_core5sc_inIbEE", !34, i64 0, !13, i64 152, !13, i64 160, !13, i64 168, !13, i64 176}
!34 = !{!"_ZTSN7sc_core7sc_portINS_15sc_signal_in_ifIbEELi1ELNS_14sc_port_policyE0EEE", !35, i64 0}
!35 = !{!"_ZTSN7sc_core9sc_port_bINS_15sc_signal_in_ifIbEEEE", !36, i64 0, !13, i64 120, !37, i64 128}
!36 = !{!"_ZTSN7sc_core12sc_port_baseE", !12, i64 0, !13, i64 112}
!37 = !{!"_ZTSSt6vectorIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE12_Vector_implE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!41 = distinct !{!41, !42}
!42 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,LICMPass,LoopSimplifyPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass