; ModuleID = 'test_func1_and_func2.bc' source_filename = "llvm-link" target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-windows-msvc" %"class.nv::Vec3d.74" = type { [3 x double] } %"class.std::basic_ostream.75" = type { i32*, [4 x i8], i32, %"class.std::basic_ios.76" } %"class.std::basic_ios.76" = type { %"class.std::ios_base.77", %"class.std::basic_streambuf.91"*, %"class.std::basic_ostream.75"*, i8 } %"class.std::ios_base.77" = type { i32 (...)**, i64, i32, i32, i32, i64, i64, %"struct.std::ios_base::_Iosarray.80"*, %"struct.std::ios_base::_Fnarray.83"*, %"class.std::locale.84"* } %"struct.std::ios_base::_Iosarray.80" = type { %"struct.std::ios_base::_Iosarray.80"*, i32, i32, i8* } %"struct.std::ios_base::_Fnarray.83" = type { %"struct.std::ios_base::_Fnarray.83"*, i32, void (i32, %"class.std::ios_base.77"*, i32)* } %"class.std::locale.84" = type { [8 x i8], %"class.std::locale::_Locimp.87"* } %"class.std::locale::_Locimp.87" = type { %"class.std::locale::facet.88", %"class.std::locale::facet.88"**, i64, i32, i8, %struct.__std_exception_data.95 } %"class.std::locale::facet.88" = type { %"class.std::_Facet_base.89", i32 } %"class.std::_Facet_base.89" = type { i32 (...)** } %struct.__std_exception_data.95 = type { i8*, i8 } %"class.std::basic_streambuf.91" = type { i32 (...)**, i8*, i8*, i8**, i8**, i8*, i8*, i8**, i8**, i32, i32, i32*, i32*, %"class.std::locale.84"* } %eh.ThrowInfo = type { i32, i32, i32, i32 } %rtti.TypeDescriptor19.93 = type { i8**, i8*, [20 x i8] } %eh.CatchableTypeArray.1 = type { i32, [1 x i32] } %eh.CatchableType = type { i32, i32, i32, i32, i32, i32, i32 } %rtti.CompleteObjectLocator = type { i32, i32, i32, i32, i32, i32 } %"class.std::exception.94" = type { i32 (...)**, %struct.__std_exception_data.95 } %"class.std::basic_ostream>::sentry.103" = type { %"class.std::basic_ostream>::_Sentry_base.104", i8 } %"class.std::basic_ostream>::_Sentry_base.104" = type { %"class.std::basic_ostream.75"* } %"class.std::time_get.96" = type { %"struct.std::time_base.97", i8*, i8*, i8*, i32, %struct._Cvtvec.98 } %"struct.std::time_base.97" = type { %"class.std::locale::facet.88" } %struct._Cvtvec.98 = type { i32, i32, i32, [32 x i8] } %"class.std::_Locinfo.99" = type { %"class.std::_Lockit.100", %struct.__std_exception_data.95, %struct.__std_exception_data.95, %"class.std::_Yarn.101", %"class.std::_Yarn.101", %struct.__std_exception_data.95, %struct.__std_exception_data.95 } %"class.std::_Lockit.100" = type { i32 } %"class.std::_Yarn.101" = type { i16*, i16 } %"class.std::time_get.102" = type { %"struct.std::time_base.97", i16*, i16*, i16*, i32, %struct._Cvtvec.98 } $"??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z" = comdat any $"??$endl@DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@@Z" = comdat any $"??0exception@std@@QEAA@QEBD@Z" = comdat any $"??1exception@std@@UEAA@XZ" = comdat any $"??0exception@std@@QEAA@AEBV01@@Z" = comdat any $"??_Gexception@std@@UEAAPEAXI@Z" = comdat any $"?what@exception@std@@UEBAPEBDXZ" = comdat any $"?length@?$char_traits@D@std@@SA_KQEBD@Z" = comdat any $"??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z" = comdat any $"??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ" = comdat any $"?eof@?$char_traits@D@std@@SAHXZ" = comdat any $"?eq_int_type@?$char_traits@D@std@@SA_NAEBH0@Z" = comdat any $"??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ" = comdat any $"??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ" = comdat any $"??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z" = comdat any $"??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z" = comdat any $"?_Maklocwcs@std@@YAPEA_WPEB_W@Z" = comdat any $wmemcpy = comdat any $"??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z" = comdat any $"??_C@_0O@FJCPKLIO@Begin?5test?51?4?$AA@" = comdat any $"??_C@_0BN@BKGFMHOO@I?8m?5throwing?5an?5exception?51?4?$AA@" = comdat any $"??_C@_0BH@PGDAABIM@My?5exception?5message?51?$AA@" = comdat any $"_TI1?AVexception@std@@" = comdat any $"??_R0?AVexception@std@@@8" = comdat any $"??_C@_0BM@DCFNEHLE@test?51?3?5Catched?5exception?3?5?$AA@" = comdat any $"??_C@_0M@IKFJIOBK@End?5test?51?4?$AA@" = comdat any $"??_C@_0CE@LKBMAJEE@test?51?3?5Throwing?5from?5extern?5C?5?3@" = comdat any $"??_C@_0BF@GMIODOFH@Catched?5exception?51?4?$AA@" = comdat any $"_CTA1?AVexception@std@@" = comdat any $"_CT??_R0?AVexception@std@@@8??0exception@std@@QEAA@AEBV01@@Z24" = comdat any $"??_7exception@std@@6B@" = comdat largest $"??_R4exception@std@@6B@" = comdat any $"??_C@_0BC@EOODALEL@Unknown?5exception?$AA@" = comdat any $"??_R3exception@std@@8" = comdat any $"??_R2exception@std@@8" = comdat any $"??_R1A@?0A@EA@exception@std@@8" = comdat any $"??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm?$AA?$AA@" = comdat any @llvm.global_ctors = appending global [2 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I__null_, i8* null }, { i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I__null_.2, i8* null }] @"?Z_AXIS@nv@@3VVec3d@1@B" = internal global %"class.nv::Vec3d.74" zeroinitializer, align 8 @"?Y_AXIS@nv@@3VVec3d@1@B" = internal global %"class.nv::Vec3d.74" zeroinitializer, align 8 @"?X_AXIS@nv@@3VVec3d@1@B" = internal global %"class.nv::Vec3d.74" zeroinitializer, align 8 @"?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A" = external dllimport global %"class.std::basic_ostream.75", align 8 @"??_C@_0O@FJCPKLIO@Begin?5test?51?4?$AA@" = linkonce_odr dso_local unnamed_addr constant [14 x i8] c"Begin test 1.\00", comdat, align 1 @"??_C@_0BN@BKGFMHOO@I?8m?5throwing?5an?5exception?51?4?$AA@" = linkonce_odr dso_local unnamed_addr constant [29 x i8] c"I'm throwing an exception 1.\00", comdat, align 1 @"??_C@_0BH@PGDAABIM@My?5exception?5message?51?$AA@" = linkonce_odr dso_local unnamed_addr constant [23 x i8] c"My exception message 1\00", comdat, align 1 @"_TI1?AVexception@std@@" = linkonce_odr unnamed_addr constant %eh.ThrowInfo { i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (void (%"class.std::exception.94"*)* @"??1exception@std@@UEAA@XZ" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%eh.CatchableTypeArray.1* @"_CTA1?AVexception@std@@" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, section ".xdata", comdat @"??_R0?AVexception@std@@@8" = linkonce_odr global %rtti.TypeDescriptor19.93 { i8** @"??_7type_info@@6B@", i8* null, [20 x i8] c".?AVexception@std@@\00" }, comdat @"??_C@_0BM@DCFNEHLE@test?51?3?5Catched?5exception?3?5?$AA@" = linkonce_odr dso_local unnamed_addr constant [28 x i8] c"test 1: Catched exception: \00", comdat, align 1 @"??_C@_0M@IKFJIOBK@End?5test?51?4?$AA@" = linkonce_odr dso_local unnamed_addr constant [12 x i8] c"End test 1.\00", comdat, align 1 @"??_C@_0CE@LKBMAJEE@test?51?3?5Throwing?5from?5extern?5C?5?3@" = linkonce_odr dso_local unnamed_addr constant [36 x i8] c"test 1: Throwing from extern C :-)!\00", comdat, align 1 @"??_C@_0BF@GMIODOFH@Catched?5exception?51?4?$AA@" = linkonce_odr dso_local unnamed_addr constant [21 x i8] c"Catched exception 1.\00", comdat, align 1 @"??_7type_info@@6B@" = external constant i8* @__ImageBase = external dso_local constant i8 @"_CTA1?AVexception@std@@" = linkonce_odr unnamed_addr constant %eh.CatchableTypeArray.1 { i32 1, [1 x i32] [i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%eh.CatchableType* @"_CT??_R0?AVexception@std@@@8??0exception@std@@QEAA@AEBV01@@Z24" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32)] }, section ".xdata", comdat @"_CT??_R0?AVexception@std@@@8??0exception@std@@QEAA@AEBV01@@Z24" = linkonce_odr unnamed_addr constant %eh.CatchableType { i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor19.93* @"??_R0?AVexception@std@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0, i32 -1, i32 0, i32 24, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%"class.std::exception.94"* (%"class.std::exception.94"*, %"class.std::exception.94"*)* @"??0exception@std@@QEAA@AEBV01@@Z" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, section ".xdata", comdat @0 = private unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"??_R4exception@std@@6B@" to i8*), i8* bitcast (i8* (%"class.std::exception.94"*, i32)* @"??_Gexception@std@@UEAAPEAXI@Z" to i8*), i8* bitcast (i8* (%"class.std::exception.94"*)* @"?what@exception@std@@UEBAPEBDXZ" to i8*)] }, comdat($"??_7exception@std@@6B@") @"??_R4exception@std@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 0, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor19.93* @"??_R0?AVexception@std@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%eh.ThrowInfo* @"??_R3exception@std@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.CompleteObjectLocator* @"??_R4exception@std@@6B@" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat @"??_C@_0BC@EOODALEL@Unknown?5exception?$AA@" = linkonce_odr dso_local unnamed_addr constant [18 x i8] c"Unknown exception\00", comdat, align 1 @"??_R3exception@std@@8" = linkonce_odr constant %eh.ThrowInfo { i32 0, i32 0, i32 1, i32 trunc (i64 sub nuw nsw (i64 ptrtoint ([2 x i32]* @"??_R2exception@std@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat @"??_R2exception@std@@8" = linkonce_odr constant [2 x i32] [i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%eh.CatchableType* @"??_R1A@?0A@EA@exception@std@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0], comdat @"??_R1A@?0A@EA@exception@std@@8" = linkonce_odr constant %eh.CatchableType { i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%rtti.TypeDescriptor19.93* @"??_R0?AVexception@std@@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32), i32 0, i32 0, i32 -1, i32 0, i32 64, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (%eh.ThrowInfo* @"??_R3exception@std@@8" to i64), i64 ptrtoint (i8* @__ImageBase to i64)) to i32) }, comdat @"??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm?$AA?$AA@" = linkonce_odr dso_local unnamed_addr constant [13 x i16] [i16 58, i16 65, i16 77, i16 58, i16 97, i16 109, i16 58, i16 80, i16 77, i16 58, i16 112, i16 109, i16 0], comdat, align 2 @"?Z_AXIS@nv@@3VVec3d@1@B.6" = internal global %"class.nv::Vec3d.74" zeroinitializer, align 8 @"?Y_AXIS@nv@@3VVec3d@1@B.7" = internal global %"class.nv::Vec3d.74" zeroinitializer, align 8 @"?X_AXIS@nv@@3VVec3d@1@B.8" = internal global %"class.nv::Vec3d.74" zeroinitializer, align 8 @"??_7exception@std@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @0, i32 0, i32 0, i32 1) ; Function Attrs: noinline sspstrong uwtable define internal void @_GLOBAL__sub_I__null_() #0 { tail call fastcc void @"??__EX_AXIS@nv@@YAXXZ"() tail call fastcc void @"??__EY_AXIS@nv@@YAXXZ"() tail call fastcc void @"??__EZ_AXIS@nv@@YAXXZ"() ret void } ; Function Attrs: noinline sspstrong uwtable define internal fastcc void @"??__EX_AXIS@nv@@YAXXZ"() unnamed_addr #0 { %1 = tail call %"class.nv::Vec3d.74"* @"??0Vec3d@nv@@QEAA@NNN@Z"(%"class.nv::Vec3d.74"* nonnull @"?X_AXIS@nv@@3VVec3d@1@B", double 1.000000e+00, double 0.000000e+00, double 0.000000e+00) ret void } ; Function Attrs: noinline sspstrong uwtable define internal fastcc void @"??__EY_AXIS@nv@@YAXXZ"() unnamed_addr #0 { %1 = tail call %"class.nv::Vec3d.74"* @"??0Vec3d@nv@@QEAA@NNN@Z"(%"class.nv::Vec3d.74"* nonnull @"?Y_AXIS@nv@@3VVec3d@1@B", double 0.000000e+00, double 1.000000e+00, double 0.000000e+00) ret void } ; Function Attrs: noinline sspstrong uwtable define internal fastcc void @"??__EZ_AXIS@nv@@YAXXZ"() unnamed_addr #0 { %1 = tail call %"class.nv::Vec3d.74"* @"??0Vec3d@nv@@QEAA@NNN@Z"(%"class.nv::Vec3d.74"* nonnull @"?Z_AXIS@nv@@3VVec3d@1@B", double 0.000000e+00, double 0.000000e+00, double 1.000000e+00) ret void } declare dllimport %"class.nv::Vec3d.74"* @"??0Vec3d@nv@@QEAA@NNN@Z"(%"class.nv::Vec3d.74"* returned, double, double, double) unnamed_addr #1 ; Function Attrs: noinline noreturn optnone sspstrong uwtable define dso_local void @test_func1() local_unnamed_addr #2 personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) { %1 = alloca %"class.std::exception.94", align 8 %2 = alloca %"class.std::exception.94"*, align 8 %3 = alloca %"class.std::exception.94", align 8 %4 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z"(%"class.std::basic_ostream.75"* dereferenceable(8) @"?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"??_C@_0O@FJCPKLIO@Begin?5test?51?4?$AA@", i64 0, i64 0)) %5 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z"(%"class.std::basic_ostream.75"* %4, %"class.std::basic_ostream.75"* (%"class.std::basic_ostream.75"*)* @"??$endl@DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@@Z") %6 = invoke dereferenceable(8) %"class.std::basic_ostream.75"* @"??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z"(%"class.std::basic_ostream.75"* dereferenceable(8) @"?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* getelementptr inbounds ([29 x i8], [29 x i8]* @"??_C@_0BN@BKGFMHOO@I?8m?5throwing?5an?5exception?51?4?$AA@", i64 0, i64 0)) to label %7 unwind label %12 7: ; preds = %0 %8 = invoke dereferenceable(8) %"class.std::basic_ostream.75"* @"??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z"(%"class.std::basic_ostream.75"* %6, %"class.std::basic_ostream.75"* (%"class.std::basic_ostream.75"*)* @"??$endl@DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@@Z") to label %9 unwind label %12 9: ; preds = %7 %10 = call %"class.std::exception.94"* @"??0exception@std@@QEAA@QEBD@Z"(%"class.std::exception.94"* %1, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @"??_C@_0BH@PGDAABIM@My?5exception?5message?51?$AA@", i64 0, i64 0)) #13 %11 = bitcast %"class.std::exception.94"* %1 to i8* invoke void @_CxxThrowException(i8* %11, %eh.ThrowInfo* @"_TI1?AVexception@std@@") #14 to label %36 unwind label %12 12: ; preds = %9, %7, %0 %13 = catchswitch within none [label %14, label %31] unwind to caller 14: ; preds = %12 %15 = catchpad within %13 [%rtti.TypeDescriptor19.93* @"??_R0?AVexception@std@@@8", i32 8, %"class.std::exception.94"** %2] %16 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z"(%"class.std::basic_ostream.75"* dereferenceable(8) @"?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"??_C@_0BM@DCFNEHLE@test?51?3?5Catched?5exception?3?5?$AA@", i64 0, i64 0)) [ "funclet"(token %15) ] %17 = load %"class.std::exception.94"*, %"class.std::exception.94"** %2, align 8 %18 = bitcast %"class.std::exception.94"* %17 to i8* (%"class.std::exception.94"*)*** %19 = load i8* (%"class.std::exception.94"*)**, i8* (%"class.std::exception.94"*)*** %18, align 8 %20 = getelementptr inbounds i8* (%"class.std::exception.94"*)*, i8* (%"class.std::exception.94"*)** %19, i64 1 %21 = load i8* (%"class.std::exception.94"*)*, i8* (%"class.std::exception.94"*)** %20, align 8 %22 = call i8* %21(%"class.std::exception.94"* %17) [ "funclet"(token %15) ] %23 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z"(%"class.std::basic_ostream.75"* dereferenceable(8) %16, i8* %22) [ "funclet"(token %15) ] %24 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z"(%"class.std::basic_ostream.75"* %23, %"class.std::basic_ostream.75"* (%"class.std::basic_ostream.75"*)* @"??$endl@DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@@Z") [ "funclet"(token %15) ] catchret from %15 to label %25 25: ; preds = %14 br label %26 26: ; preds = %35, %25 %27 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z"(%"class.std::basic_ostream.75"* dereferenceable(8) @"?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* getelementptr inbounds ([12 x i8], [12 x i8]* @"??_C@_0M@IKFJIOBK@End?5test?51?4?$AA@", i64 0, i64 0)) %28 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z"(%"class.std::basic_ostream.75"* %27, %"class.std::basic_ostream.75"* (%"class.std::basic_ostream.75"*)* @"??$endl@DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@@Z") %29 = call %"class.std::exception.94"* @"??0exception@std@@QEAA@QEBD@Z"(%"class.std::exception.94"* %3, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @"??_C@_0CE@LKBMAJEE@test?51?3?5Throwing?5from?5extern?5C?5?3@", i64 0, i64 0)) #13 %30 = bitcast %"class.std::exception.94"* %3 to i8* call void @_CxxThrowException(i8* %30, %eh.ThrowInfo* @"_TI1?AVexception@std@@") #14 unreachable 31: ; preds = %12 %32 = catchpad within %13 [i8* null, i32 64, i8* null] %33 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z"(%"class.std::basic_ostream.75"* dereferenceable(8) @"?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* getelementptr inbounds ([21 x i8], [21 x i8]* @"??_C@_0BF@GMIODOFH@Catched?5exception?51?4?$AA@", i64 0, i64 0)) [ "funclet"(token %32) ] %34 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z"(%"class.std::basic_ostream.75"* %33, %"class.std::basic_ostream.75"* (%"class.std::basic_ostream.75"*)* @"??$endl@DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@@Z") [ "funclet"(token %32) ] catchret from %32 to label %35 35: ; preds = %31 br label %26 36: ; preds = %9 unreachable } declare dso_local i32 @__CxxFrameHandler3(...) ; Function Attrs: noinline optnone sspstrong uwtable define linkonce_odr dso_local dereferenceable(8) %"class.std::basic_ostream.75"* @"??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z"(%"class.std::basic_ostream.75"* dereferenceable(8) %0, i8* %1) local_unnamed_addr #3 comdat personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) { %3 = alloca i8*, align 8 %4 = alloca %"class.std::basic_ostream.75"*, align 8 %5 = alloca i32, align 4 %6 = alloca i64, align 8 %7 = alloca i64, align 8 %8 = alloca %"class.std::basic_ostream>::sentry.103", align 8 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca i32, align 4 %12 = alloca i32, align 4 store i8* %1, i8** %3, align 8 store %"class.std::basic_ostream.75"* %0, %"class.std::basic_ostream.75"** %4, align 8 store i32 0, i32* %5, align 4 %13 = load i8*, i8** %3, align 8 %14 = call i64 @"?length@?$char_traits@D@std@@SA_KQEBD@Z"(i8* %13) #13 store i64 %14, i64* %6, align 8 %15 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %16 = bitcast %"class.std::basic_ostream.75"* %15 to i8* %17 = getelementptr inbounds i8, i8* %16, i64 0 %18 = bitcast i8* %17 to i32** %19 = load i32*, i32** %18, align 8 %20 = getelementptr inbounds i32, i32* %19, i32 1 %21 = load i32, i32* %20, align 4 %22 = sext i32 %21 to i64 %23 = add nsw i64 0, %22 %24 = bitcast %"class.std::basic_ostream.75"* %15 to i8* %25 = getelementptr inbounds i8, i8* %24, i64 %23 %26 = bitcast i8* %25 to %"class.std::ios_base.77"* %27 = call i64 @"?width@ios_base@std@@QEBA_JXZ"(%"class.std::ios_base.77"* %26) %28 = icmp sle i64 %27, 0 br i1 %28, label %45, label %29 29: ; preds = %2 %30 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %31 = bitcast %"class.std::basic_ostream.75"* %30 to i8* %32 = getelementptr inbounds i8, i8* %31, i64 0 %33 = bitcast i8* %32 to i32** %34 = load i32*, i32** %33, align 8 %35 = getelementptr inbounds i32, i32* %34, i32 1 %36 = load i32, i32* %35, align 4 %37 = sext i32 %36 to i64 %38 = add nsw i64 0, %37 %39 = bitcast %"class.std::basic_ostream.75"* %30 to i8* %40 = getelementptr inbounds i8, i8* %39, i64 %38 %41 = bitcast i8* %40 to %"class.std::ios_base.77"* %42 = call i64 @"?width@ios_base@std@@QEBA_JXZ"(%"class.std::ios_base.77"* %41) %43 = load i64, i64* %6, align 8 %44 = icmp sle i64 %42, %43 br i1 %44, label %45, label %46 45: ; preds = %29, %2 br label %62 46: ; preds = %29 %47 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %48 = bitcast %"class.std::basic_ostream.75"* %47 to i8* %49 = getelementptr inbounds i8, i8* %48, i64 0 %50 = bitcast i8* %49 to i32** %51 = load i32*, i32** %50, align 8 %52 = getelementptr inbounds i32, i32* %51, i32 1 %53 = load i32, i32* %52, align 4 %54 = sext i32 %53 to i64 %55 = add nsw i64 0, %54 %56 = bitcast %"class.std::basic_ostream.75"* %47 to i8* %57 = getelementptr inbounds i8, i8* %56, i64 %55 %58 = bitcast i8* %57 to %"class.std::ios_base.77"* %59 = call i64 @"?width@ios_base@std@@QEBA_JXZ"(%"class.std::ios_base.77"* %58) %60 = load i64, i64* %6, align 8 %61 = sub nsw i64 %59, %60 br label %62 62: ; preds = %46, %45 %63 = phi i64 [ 0, %45 ], [ %61, %46 ] store i64 %63, i64* %7, align 8 %64 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %65 = call %"class.std::basic_ostream>::sentry.103"* @"??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z"(%"class.std::basic_ostream>::sentry.103"* %8, %"class.std::basic_ostream.75"* dereferenceable(8) %64) %66 = call zeroext i1 @"??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ"(%"class.std::basic_ostream>::sentry.103"* %8) br label %67 67: ; preds = %62 br i1 %66, label %71, label %68 68: ; preds = %67 %69 = load i32, i32* %5, align 4 %70 = or i32 %69, 4 store i32 %70, i32* %5, align 4 br label %242 71: ; preds = %67 %72 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %73 = bitcast %"class.std::basic_ostream.75"* %72 to i8* %74 = getelementptr inbounds i8, i8* %73, i64 0 %75 = bitcast i8* %74 to i32** %76 = load i32*, i32** %75, align 8 %77 = getelementptr inbounds i32, i32* %76, i32 1 %78 = load i32, i32* %77, align 4 %79 = sext i32 %78 to i64 %80 = add nsw i64 0, %79 %81 = bitcast %"class.std::basic_ostream.75"* %72 to i8* %82 = getelementptr inbounds i8, i8* %81, i64 %80 %83 = bitcast i8* %82 to %"class.std::ios_base.77"* %84 = invoke i32 @"?flags@ios_base@std@@QEBAHXZ"(%"class.std::ios_base.77"* %83) to label %85 unwind label %222 85: ; preds = %71 %86 = and i32 %84, 448 %87 = icmp ne i32 %86, 64 br i1 %87, label %88, label %133 88: ; preds = %85 br label %89 89: ; preds = %129, %88 %90 = load i64, i64* %7, align 8 %91 = icmp slt i64 0, %90 br i1 %91, label %92, label %.loopexit1 92: ; preds = %89 %93 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %94 = bitcast %"class.std::basic_ostream.75"* %93 to i8* %95 = getelementptr inbounds i8, i8* %94, i64 0 %96 = bitcast i8* %95 to i32** %97 = load i32*, i32** %96, align 8 %98 = getelementptr inbounds i32, i32* %97, i32 1 %99 = load i32, i32* %98, align 4 %100 = sext i32 %99 to i64 %101 = add nsw i64 0, %100 %102 = bitcast %"class.std::basic_ostream.75"* %93 to i8* %103 = getelementptr inbounds i8, i8* %102, i64 %101 %104 = bitcast i8* %103 to %"class.std::basic_ios.76"* %105 = invoke %"class.std::basic_streambuf.91"* @"?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"* %104) to label %106 unwind label %222 106: ; preds = %92 %107 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %108 = bitcast %"class.std::basic_ostream.75"* %107 to i8* %109 = getelementptr inbounds i8, i8* %108, i64 0 %110 = bitcast i8* %109 to i32** %111 = load i32*, i32** %110, align 8 %112 = getelementptr inbounds i32, i32* %111, i32 1 %113 = load i32, i32* %112, align 4 %114 = sext i32 %113 to i64 %115 = add nsw i64 0, %114 %116 = bitcast %"class.std::basic_ostream.75"* %107 to i8* %117 = getelementptr inbounds i8, i8* %116, i64 %115 %118 = bitcast i8* %117 to %"class.std::basic_ios.76"* %119 = invoke i8 @"?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ"(%"class.std::basic_ios.76"* %118) to label %120 unwind label %222 120: ; preds = %106 %121 = invoke i32 @"?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z"(%"class.std::basic_streambuf.91"* %105, i8 %119) to label %122 unwind label %222 122: ; preds = %120 store i32 %121, i32* %9, align 4 %123 = call i32 @"?eof@?$char_traits@D@std@@SAHXZ"() #13 store i32 %123, i32* %10, align 4 %124 = call zeroext i1 @"?eq_int_type@?$char_traits@D@std@@SA_NAEBH0@Z"(i32* dereferenceable(4) %10, i32* dereferenceable(4) %9) #13 br i1 %124, label %125, label %128 125: ; preds = %122 %126 = load i32, i32* %5, align 4 %127 = or i32 %126, 4 store i32 %127, i32* %5, align 4 br label %132 128: ; preds = %122 br label %129 129: ; preds = %128 %130 = load i64, i64* %7, align 8 %131 = add nsw i64 %130, -1 store i64 %131, i64* %7, align 8 br label %89 .loopexit1: ; preds = %89 br label %132 132: ; preds = %.loopexit1, %125 br label %133 133: ; preds = %132, %85 %134 = load i32, i32* %5, align 4 %135 = icmp eq i32 %134, 0 br i1 %135, label %136, label %160 136: ; preds = %133 %137 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %138 = bitcast %"class.std::basic_ostream.75"* %137 to i8* %139 = getelementptr inbounds i8, i8* %138, i64 0 %140 = bitcast i8* %139 to i32** %141 = load i32*, i32** %140, align 8 %142 = getelementptr inbounds i32, i32* %141, i32 1 %143 = load i32, i32* %142, align 4 %144 = sext i32 %143 to i64 %145 = add nsw i64 0, %144 %146 = bitcast %"class.std::basic_ostream.75"* %137 to i8* %147 = getelementptr inbounds i8, i8* %146, i64 %145 %148 = bitcast i8* %147 to %"class.std::basic_ios.76"* %149 = invoke %"class.std::basic_streambuf.91"* @"?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"* %148) to label %150 unwind label %222 150: ; preds = %136 %151 = load i64, i64* %6, align 8 %152 = load i8*, i8** %3, align 8 %153 = invoke i64 @"?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z"(%"class.std::basic_streambuf.91"* %149, i8* %152, i64 %151) to label %154 unwind label %222 154: ; preds = %150 %155 = load i64, i64* %6, align 8 %156 = icmp ne i64 %153, %155 br i1 %156, label %157, label %160 157: ; preds = %154 %158 = load i32, i32* %5, align 4 %159 = or i32 %158, 4 store i32 %159, i32* %5, align 4 br label %160 160: ; preds = %157, %154, %133 %161 = load i32, i32* %5, align 4 %162 = icmp eq i32 %161, 0 br i1 %162, label %163, label %208 163: ; preds = %160 br label %164 164: ; preds = %204, %163 %165 = load i64, i64* %7, align 8 %166 = icmp slt i64 0, %165 br i1 %166, label %167, label %.loopexit 167: ; preds = %164 %168 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %169 = bitcast %"class.std::basic_ostream.75"* %168 to i8* %170 = getelementptr inbounds i8, i8* %169, i64 0 %171 = bitcast i8* %170 to i32** %172 = load i32*, i32** %171, align 8 %173 = getelementptr inbounds i32, i32* %172, i32 1 %174 = load i32, i32* %173, align 4 %175 = sext i32 %174 to i64 %176 = add nsw i64 0, %175 %177 = bitcast %"class.std::basic_ostream.75"* %168 to i8* %178 = getelementptr inbounds i8, i8* %177, i64 %176 %179 = bitcast i8* %178 to %"class.std::basic_ios.76"* %180 = invoke %"class.std::basic_streambuf.91"* @"?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"* %179) to label %181 unwind label %222 181: ; preds = %167 %182 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %183 = bitcast %"class.std::basic_ostream.75"* %182 to i8* %184 = getelementptr inbounds i8, i8* %183, i64 0 %185 = bitcast i8* %184 to i32** %186 = load i32*, i32** %185, align 8 %187 = getelementptr inbounds i32, i32* %186, i32 1 %188 = load i32, i32* %187, align 4 %189 = sext i32 %188 to i64 %190 = add nsw i64 0, %189 %191 = bitcast %"class.std::basic_ostream.75"* %182 to i8* %192 = getelementptr inbounds i8, i8* %191, i64 %190 %193 = bitcast i8* %192 to %"class.std::basic_ios.76"* %194 = invoke i8 @"?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ"(%"class.std::basic_ios.76"* %193) to label %195 unwind label %222 195: ; preds = %181 %196 = invoke i32 @"?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z"(%"class.std::basic_streambuf.91"* %180, i8 %194) to label %197 unwind label %222 197: ; preds = %195 store i32 %196, i32* %11, align 4 %198 = call i32 @"?eof@?$char_traits@D@std@@SAHXZ"() #13 store i32 %198, i32* %12, align 4 %199 = call zeroext i1 @"?eq_int_type@?$char_traits@D@std@@SA_NAEBH0@Z"(i32* dereferenceable(4) %12, i32* dereferenceable(4) %11) #13 br i1 %199, label %200, label %203 200: ; preds = %197 %201 = load i32, i32* %5, align 4 %202 = or i32 %201, 4 store i32 %202, i32* %5, align 4 br label %207 203: ; preds = %197 br label %204 204: ; preds = %203 %205 = load i64, i64* %7, align 8 %206 = add nsw i64 %205, -1 store i64 %206, i64* %7, align 8 br label %164 .loopexit: ; preds = %164 br label %207 207: ; preds = %.loopexit, %200 br label %208 208: ; preds = %207, %160 %209 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %210 = bitcast %"class.std::basic_ostream.75"* %209 to i8* %211 = getelementptr inbounds i8, i8* %210, i64 0 %212 = bitcast i8* %211 to i32** %213 = load i32*, i32** %212, align 8 %214 = getelementptr inbounds i32, i32* %213, i32 1 %215 = load i32, i32* %214, align 4 %216 = sext i32 %215 to i64 %217 = add nsw i64 0, %216 %218 = bitcast %"class.std::basic_ostream.75"* %209 to i8* %219 = getelementptr inbounds i8, i8* %218, i64 %217 %220 = bitcast i8* %219 to %"class.std::ios_base.77"* %221 = invoke i64 @"?width@ios_base@std@@QEAA_J_J@Z"(%"class.std::ios_base.77"* %220, i64 0) to label %241 unwind label %222 222: ; preds = %208, %195, %181, %167, %150, %136, %120, %106, %92, %71 %223 = catchswitch within none [label %224] unwind label %258 224: ; preds = %222 %225 = catchpad within %223 [i8* null, i32 64, i8* null] %226 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %227 = bitcast %"class.std::basic_ostream.75"* %226 to i8* %228 = getelementptr inbounds i8, i8* %227, i64 0 %229 = bitcast i8* %228 to i32** %230 = load i32*, i32** %229, align 8 %231 = getelementptr inbounds i32, i32* %230, i32 1 %232 = load i32, i32* %231, align 4 %233 = sext i32 %232 to i64 %234 = add nsw i64 0, %233 %235 = bitcast %"class.std::basic_ostream.75"* %226 to i8* %236 = getelementptr inbounds i8, i8* %235, i64 %234 %237 = bitcast i8* %236 to %"class.std::basic_ios.76"* invoke void @"?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z"(%"class.std::basic_ios.76"* %237, i32 4, i1 zeroext true) [ "funclet"(token %225) ] to label %238 unwind label %258 238: ; preds = %224 catchret from %225 to label %239 239: ; preds = %238 br label %240 240: ; preds = %241, %239 br label %242 241: ; preds = %208 br label %240 242: ; preds = %240, %68 %243 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %244 = bitcast %"class.std::basic_ostream.75"* %243 to i8* %245 = getelementptr inbounds i8, i8* %244, i64 0 %246 = bitcast i8* %245 to i32** %247 = load i32*, i32** %246, align 8 %248 = getelementptr inbounds i32, i32* %247, i32 1 %249 = load i32, i32* %248, align 4 %250 = sext i32 %249 to i64 %251 = add nsw i64 0, %250 %252 = bitcast %"class.std::basic_ostream.75"* %243 to i8* %253 = getelementptr inbounds i8, i8* %252, i64 %251 %254 = bitcast i8* %253 to %"class.std::basic_ios.76"* %255 = load i32, i32* %5, align 4 invoke void @"?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z"(%"class.std::basic_ios.76"* %254, i32 %255, i1 zeroext false) to label %256 unwind label %258 256: ; preds = %242 %257 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 call void @"??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ"(%"class.std::basic_ostream>::sentry.103"* %8) #13 ret %"class.std::basic_ostream.75"* %257 258: ; preds = %242, %224, %222 %259 = cleanuppad within none [] call void @"??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ"(%"class.std::basic_ostream>::sentry.103"* %8) #13 [ "funclet"(token %259) ] cleanupret from %259 unwind to caller } ; Function Attrs: noinline optnone sspstrong uwtable define linkonce_odr dso_local dereferenceable(8) %"class.std::basic_ostream.75"* @"??$endl@DU?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@@Z"(%"class.std::basic_ostream.75"* dereferenceable(8) %0) #3 comdat { %2 = alloca %"class.std::basic_ostream.75"*, align 8 store %"class.std::basic_ostream.75"* %0, %"class.std::basic_ostream.75"** %2, align 8 %3 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %2, align 8 %4 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %2, align 8 %5 = bitcast %"class.std::basic_ostream.75"* %4 to i8* %6 = getelementptr inbounds i8, i8* %5, i64 0 %7 = bitcast i8* %6 to i32** %8 = load i32*, i32** %7, align 8 %9 = getelementptr inbounds i32, i32* %8, i32 1 %10 = load i32, i32* %9, align 4 %11 = sext i32 %10 to i64 %12 = add nsw i64 0, %11 %13 = bitcast %"class.std::basic_ostream.75"* %4 to i8* %14 = getelementptr inbounds i8, i8* %13, i64 %12 %15 = bitcast i8* %14 to %"class.std::basic_ios.76"* %16 = call i8 @"?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z"(%"class.std::basic_ios.76"* %15, i8 10) %17 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z"(%"class.std::basic_ostream.75"* %3, i8 %16) %18 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %2, align 8 %19 = call dereferenceable(8) %"class.std::basic_ostream.75"* @"?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ"(%"class.std::basic_ostream.75"* %18) %20 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %2, align 8 ret %"class.std::basic_ostream.75"* %20 } declare dllimport dereferenceable(8) %"class.std::basic_ostream.75"* @"??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAV01@AEAV01@@Z@Z"(%"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"* (%"class.std::basic_ostream.75"*)*) local_unnamed_addr #1 ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local %"class.std::exception.94"* @"??0exception@std@@QEAA@QEBD@Z"(%"class.std::exception.94"* returned %0, i8* %1) unnamed_addr #4 comdat align 2 { %3 = alloca i8*, align 8 %4 = alloca %"class.std::exception.94"*, align 8 %5 = alloca %struct.__std_exception_data.95, align 8 store i8* %1, i8** %3, align 8 store %"class.std::exception.94"* %0, %"class.std::exception.94"** %4, align 8 %6 = load %"class.std::exception.94"*, %"class.std::exception.94"** %4, align 8 %7 = bitcast %"class.std::exception.94"* %6 to i32 (...)*** store i32 (...)** bitcast (i8** @"??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %7, align 8 %8 = getelementptr inbounds %"class.std::exception.94", %"class.std::exception.94"* %6, i32 0, i32 1 %9 = bitcast %struct.__std_exception_data.95* %8 to i8* call void @llvm.memset.p0i8.i64(i8* align 8 %9, i8 0, i64 16, i1 false) %10 = getelementptr inbounds %struct.__std_exception_data.95, %struct.__std_exception_data.95* %5, i32 0, i32 0 %11 = load i8*, i8** %3, align 8 store i8* %11, i8** %10, align 8 %12 = getelementptr inbounds %struct.__std_exception_data.95, %struct.__std_exception_data.95* %5, i32 0, i32 1 store i8 1, i8* %12, align 8 %13 = getelementptr inbounds %"class.std::exception.94", %"class.std::exception.94"* %6, i32 0, i32 1 call void @__std_exception_copy(%struct.__std_exception_data.95* %5, %struct.__std_exception_data.95* %13) #13 ret %"class.std::exception.94"* %6 } declare dso_local void @_CxxThrowException(i8*, %eh.ThrowInfo*) local_unnamed_addr ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local void @"??1exception@std@@UEAA@XZ"(%"class.std::exception.94"* %0) unnamed_addr #4 comdat align 2 { %2 = alloca %"class.std::exception.94"*, align 8 store %"class.std::exception.94"* %0, %"class.std::exception.94"** %2, align 8 %3 = load %"class.std::exception.94"*, %"class.std::exception.94"** %2, align 8 %4 = bitcast %"class.std::exception.94"* %3 to i32 (...)*** store i32 (...)** bitcast (i8** @"??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %4, align 8 %5 = getelementptr inbounds %"class.std::exception.94", %"class.std::exception.94"* %3, i32 0, i32 1 call void @__std_exception_destroy(%struct.__std_exception_data.95* %5) #13 ret void } ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local %"class.std::exception.94"* @"??0exception@std@@QEAA@AEBV01@@Z"(%"class.std::exception.94"* returned %0, %"class.std::exception.94"* dereferenceable(24) %1) unnamed_addr #4 comdat align 2 { %3 = alloca %"class.std::exception.94"*, align 8 %4 = alloca %"class.std::exception.94"*, align 8 store %"class.std::exception.94"* %1, %"class.std::exception.94"** %3, align 8 store %"class.std::exception.94"* %0, %"class.std::exception.94"** %4, align 8 %5 = load %"class.std::exception.94"*, %"class.std::exception.94"** %4, align 8 %6 = bitcast %"class.std::exception.94"* %5 to i32 (...)*** store i32 (...)** bitcast (i8** @"??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %6, align 8 %7 = getelementptr inbounds %"class.std::exception.94", %"class.std::exception.94"* %5, i32 0, i32 1 %8 = bitcast %struct.__std_exception_data.95* %7 to i8* call void @llvm.memset.p0i8.i64(i8* align 8 %8, i8 0, i64 16, i1 false) %9 = getelementptr inbounds %"class.std::exception.94", %"class.std::exception.94"* %5, i32 0, i32 1 %10 = load %"class.std::exception.94"*, %"class.std::exception.94"** %3, align 8 %11 = getelementptr inbounds %"class.std::exception.94", %"class.std::exception.94"* %10, i32 0, i32 1 call void @__std_exception_copy(%struct.__std_exception_data.95* %11, %struct.__std_exception_data.95* %9) #13 ret %"class.std::exception.94"* %5 } ; Function Attrs: argmemonly nounwind willreturn writeonly declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #5 ; Function Attrs: nounwind declare dso_local void @__std_exception_copy(%struct.__std_exception_data.95*, %struct.__std_exception_data.95*) local_unnamed_addr #6 ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local i8* @"??_Gexception@std@@UEAAPEAXI@Z"(%"class.std::exception.94"* %0, i32 %1) unnamed_addr #4 comdat align 2 { %3 = alloca i8*, align 8 %4 = alloca i32, align 4 %5 = alloca %"class.std::exception.94"*, align 8 store i32 %1, i32* %4, align 4 store %"class.std::exception.94"* %0, %"class.std::exception.94"** %5, align 8 %6 = load %"class.std::exception.94"*, %"class.std::exception.94"** %5, align 8 %7 = bitcast %"class.std::exception.94"* %6 to i8* store i8* %7, i8** %3, align 8 %8 = load i32, i32* %4, align 4 call void @"??1exception@std@@UEAA@XZ"(%"class.std::exception.94"* %6) #13 %9 = icmp eq i32 %8, 0 br i1 %9, label %12, label %10 10: ; preds = %2 %11 = bitcast %"class.std::exception.94"* %6 to i8* call void @"??3@YAXPEAX@Z"(i8* %11) #15 br label %12 12: ; preds = %10, %2 %13 = load i8*, i8** %3, align 8 ret i8* %13 } ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local i8* @"?what@exception@std@@UEBAPEBDXZ"(%"class.std::exception.94"* %0) unnamed_addr #4 comdat align 2 { %2 = alloca %"class.std::exception.94"*, align 8 store %"class.std::exception.94"* %0, %"class.std::exception.94"** %2, align 8 %3 = load %"class.std::exception.94"*, %"class.std::exception.94"** %2, align 8 %4 = getelementptr inbounds %"class.std::exception.94", %"class.std::exception.94"* %3, i32 0, i32 1 %5 = getelementptr inbounds %struct.__std_exception_data.95, %struct.__std_exception_data.95* %4, i32 0, i32 0 %6 = load i8*, i8** %5, align 8 %7 = icmp ne i8* %6, null br i1 %7, label %8, label %12 8: ; preds = %1 %9 = getelementptr inbounds %"class.std::exception.94", %"class.std::exception.94"* %3, i32 0, i32 1 %10 = getelementptr inbounds %struct.__std_exception_data.95, %struct.__std_exception_data.95* %9, i32 0, i32 0 %11 = load i8*, i8** %10, align 8 br label %13 12: ; preds = %1 br label %13 13: ; preds = %12, %8 %14 = phi i8* [ %11, %8 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @"??_C@_0BC@EOODALEL@Unknown?5exception?$AA@", i64 0, i64 0), %12 ] ret i8* %14 } ; Function Attrs: nobuiltin nounwind declare dso_local void @"??3@YAXPEAX@Z"(i8*) local_unnamed_addr #7 ; Function Attrs: nounwind declare dso_local void @__std_exception_destroy(%struct.__std_exception_data.95*) local_unnamed_addr #6 declare dllimport i8 @"?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z"(%"class.std::basic_ios.76"*, i8) local_unnamed_addr #1 declare dllimport dereferenceable(8) %"class.std::basic_ostream.75"* @"?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z"(%"class.std::basic_ostream.75"*, i8) local_unnamed_addr #1 declare dllimport dereferenceable(8) %"class.std::basic_ostream.75"* @"?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ"(%"class.std::basic_ostream.75"*) local_unnamed_addr #1 ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local i64 @"?length@?$char_traits@D@std@@SA_KQEBD@Z"(i8* %0) local_unnamed_addr #4 comdat align 2 { %2 = alloca i8*, align 8 store i8* %0, i8** %2, align 8 %3 = load i8*, i8** %2, align 8 %4 = call i64 @strlen(i8* %3) #13 ret i64 %4 } declare dllimport i64 @"?width@ios_base@std@@QEBA_JXZ"(%"class.std::ios_base.77"*) local_unnamed_addr #1 ; Function Attrs: noinline optnone sspstrong uwtable define linkonce_odr dso_local %"class.std::basic_ostream>::sentry.103"* @"??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z"(%"class.std::basic_ostream>::sentry.103"* returned %0, %"class.std::basic_ostream.75"* dereferenceable(8) %1) unnamed_addr #3 comdat align 2 personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) { %3 = alloca %"class.std::basic_ostream>::sentry.103"*, align 8 %4 = alloca %"class.std::basic_ostream.75"*, align 8 %5 = alloca %"class.std::basic_ostream>::sentry.103"*, align 8 store %"class.std::basic_ostream.75"* %1, %"class.std::basic_ostream.75"** %4, align 8 store %"class.std::basic_ostream>::sentry.103"* %0, %"class.std::basic_ostream>::sentry.103"** %5, align 8 %6 = load %"class.std::basic_ostream>::sentry.103"*, %"class.std::basic_ostream>::sentry.103"** %5, align 8 store %"class.std::basic_ostream>::sentry.103"* %6, %"class.std::basic_ostream>::sentry.103"** %3, align 8 %7 = bitcast %"class.std::basic_ostream>::sentry.103"* %6 to %"class.std::basic_ostream>::_Sentry_base.104"* %8 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %9 = call %"class.std::basic_ostream>::_Sentry_base.104"* @"??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z"(%"class.std::basic_ostream>::_Sentry_base.104"* %7, %"class.std::basic_ostream.75"* dereferenceable(8) %8) %10 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %11 = bitcast %"class.std::basic_ostream.75"* %10 to i8* %12 = getelementptr inbounds i8, i8* %11, i64 0 %13 = bitcast i8* %12 to i32** %14 = load i32*, i32** %13, align 8 %15 = getelementptr inbounds i32, i32* %14, i32 1 %16 = load i32, i32* %15, align 4 %17 = sext i32 %16 to i64 %18 = add nsw i64 0, %17 %19 = bitcast %"class.std::basic_ostream.75"* %10 to i8* %20 = getelementptr inbounds i8, i8* %19, i64 %18 %21 = bitcast i8* %20 to %"class.std::ios_base.77"* %22 = invoke zeroext i1 @"?good@ios_base@std@@QEBA_NXZ"(%"class.std::ios_base.77"* %21) to label %23 unwind label %92 23: ; preds = %2 br i1 %22, label %24, label %74 24: ; preds = %23 %25 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %26 = bitcast %"class.std::basic_ostream.75"* %25 to i8* %27 = getelementptr inbounds i8, i8* %26, i64 0 %28 = bitcast i8* %27 to i32** %29 = load i32*, i32** %28, align 8 %30 = getelementptr inbounds i32, i32* %29, i32 1 %31 = load i32, i32* %30, align 4 %32 = sext i32 %31 to i64 %33 = add nsw i64 0, %32 %34 = bitcast %"class.std::basic_ostream.75"* %25 to i8* %35 = getelementptr inbounds i8, i8* %34, i64 %33 %36 = bitcast i8* %35 to %"class.std::basic_ios.76"* %37 = invoke %"class.std::basic_ostream.75"* @"?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"* %36) to label %38 unwind label %92 38: ; preds = %24 %39 = icmp ne %"class.std::basic_ostream.75"* %37, null br i1 %39, label %40, label %74 40: ; preds = %38 %41 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %42 = bitcast %"class.std::basic_ostream.75"* %41 to i8* %43 = getelementptr inbounds i8, i8* %42, i64 0 %44 = bitcast i8* %43 to i32** %45 = load i32*, i32** %44, align 8 %46 = getelementptr inbounds i32, i32* %45, i32 1 %47 = load i32, i32* %46, align 4 %48 = sext i32 %47 to i64 %49 = add nsw i64 0, %48 %50 = bitcast %"class.std::basic_ostream.75"* %41 to i8* %51 = getelementptr inbounds i8, i8* %50, i64 %49 %52 = bitcast i8* %51 to %"class.std::basic_ios.76"* %53 = invoke %"class.std::basic_ostream.75"* @"?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"* %52) to label %54 unwind label %92 54: ; preds = %40 %55 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %56 = icmp ne %"class.std::basic_ostream.75"* %53, %55 br i1 %56, label %57, label %74 57: ; preds = %54 %58 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %59 = bitcast %"class.std::basic_ostream.75"* %58 to i8* %60 = getelementptr inbounds i8, i8* %59, i64 0 %61 = bitcast i8* %60 to i32** %62 = load i32*, i32** %61, align 8 %63 = getelementptr inbounds i32, i32* %62, i32 1 %64 = load i32, i32* %63, align 4 %65 = sext i32 %64 to i64 %66 = add nsw i64 0, %65 %67 = bitcast %"class.std::basic_ostream.75"* %58 to i8* %68 = getelementptr inbounds i8, i8* %67, i64 %66 %69 = bitcast i8* %68 to %"class.std::basic_ios.76"* %70 = invoke %"class.std::basic_ostream.75"* @"?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"* %69) to label %71 unwind label %92 71: ; preds = %57 %72 = invoke dereferenceable(8) %"class.std::basic_ostream.75"* @"?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ"(%"class.std::basic_ostream.75"* %70) to label %73 unwind label %92 73: ; preds = %71 br label %74 74: ; preds = %73, %54, %38, %23 %75 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %76 = bitcast %"class.std::basic_ostream.75"* %75 to i8* %77 = getelementptr inbounds i8, i8* %76, i64 0 %78 = bitcast i8* %77 to i32** %79 = load i32*, i32** %78, align 8 %80 = getelementptr inbounds i32, i32* %79, i32 1 %81 = load i32, i32* %80, align 4 %82 = sext i32 %81 to i64 %83 = add nsw i64 0, %82 %84 = bitcast %"class.std::basic_ostream.75"* %75 to i8* %85 = getelementptr inbounds i8, i8* %84, i64 %83 %86 = bitcast i8* %85 to %"class.std::ios_base.77"* %87 = invoke zeroext i1 @"?good@ios_base@std@@QEBA_NXZ"(%"class.std::ios_base.77"* %86) to label %88 unwind label %92 88: ; preds = %74 %89 = getelementptr inbounds %"class.std::basic_ostream>::sentry.103", %"class.std::basic_ostream>::sentry.103"* %6, i32 0, i32 1 %90 = zext i1 %87 to i8 store i8 %90, i8* %89, align 8 %91 = load %"class.std::basic_ostream>::sentry.103"*, %"class.std::basic_ostream>::sentry.103"** %3, align 8 ret %"class.std::basic_ostream>::sentry.103"* %91 92: ; preds = %74, %71, %57, %40, %24, %2 %93 = cleanuppad within none [] %94 = bitcast %"class.std::basic_ostream>::sentry.103"* %6 to %"class.std::basic_ostream>::_Sentry_base.104"* call void @"??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ"(%"class.std::basic_ostream>::_Sentry_base.104"* %94) #13 [ "funclet"(token %93) ] cleanupret from %93 unwind to caller } ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local zeroext i1 @"??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ"(%"class.std::basic_ostream>::sentry.103"* %0) local_unnamed_addr #4 comdat align 2 { %2 = alloca %"class.std::basic_ostream>::sentry.103"*, align 8 store %"class.std::basic_ostream>::sentry.103"* %0, %"class.std::basic_ostream>::sentry.103"** %2, align 8 %3 = load %"class.std::basic_ostream>::sentry.103"*, %"class.std::basic_ostream>::sentry.103"** %2, align 8 %4 = getelementptr inbounds %"class.std::basic_ostream>::sentry.103", %"class.std::basic_ostream>::sentry.103"* %3, i32 0, i32 1 %5 = load i8, i8* %4, align 8 %6 = trunc i8 %5 to i1 ret i1 %6 } declare dllimport i32 @"?flags@ios_base@std@@QEBAHXZ"(%"class.std::ios_base.77"*) local_unnamed_addr #1 declare dllimport %"class.std::basic_streambuf.91"* @"?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"*) local_unnamed_addr #1 declare dllimport i8 @"?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ"(%"class.std::basic_ios.76"*) local_unnamed_addr #1 declare dllimport i32 @"?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z"(%"class.std::basic_streambuf.91"*, i8) local_unnamed_addr #1 ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local i32 @"?eof@?$char_traits@D@std@@SAHXZ"() local_unnamed_addr #4 comdat align 2 { ret i32 -1 } ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local zeroext i1 @"?eq_int_type@?$char_traits@D@std@@SA_NAEBH0@Z"(i32* dereferenceable(4) %0, i32* dereferenceable(4) %1) local_unnamed_addr #4 comdat align 2 { %3 = alloca i32*, align 8 %4 = alloca i32*, align 8 store i32* %1, i32** %3, align 8 store i32* %0, i32** %4, align 8 %5 = load i32*, i32** %4, align 8 %6 = load i32, i32* %5, align 4 %7 = load i32*, i32** %3, align 8 %8 = load i32, i32* %7, align 4 %9 = icmp eq i32 %6, %8 ret i1 %9 } declare dllimport i64 @"?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z"(%"class.std::basic_streambuf.91"*, i8*, i64) local_unnamed_addr #1 declare dllimport i64 @"?width@ios_base@std@@QEAA_J_J@Z"(%"class.std::ios_base.77"*, i64) local_unnamed_addr #1 declare dllimport void @"?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z"(%"class.std::basic_ios.76"*, i32, i1 zeroext) local_unnamed_addr #1 ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local void @"??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ"(%"class.std::basic_ostream>::sentry.103"* %0) unnamed_addr #4 comdat align 2 personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) { %2 = alloca %"class.std::basic_ostream>::sentry.103"*, align 8 store %"class.std::basic_ostream>::sentry.103"* %0, %"class.std::basic_ostream>::sentry.103"** %2, align 8 %3 = load %"class.std::basic_ostream>::sentry.103"*, %"class.std::basic_ostream>::sentry.103"** %2, align 8 %4 = call zeroext i1 @"?uncaught_exception@std@@YA_NXZ"() #13 br i1 %4, label %10, label %5 5: ; preds = %1 %6 = bitcast %"class.std::basic_ostream>::sentry.103"* %3 to %"class.std::basic_ostream>::_Sentry_base.104"* %7 = getelementptr inbounds %"class.std::basic_ostream>::_Sentry_base.104", %"class.std::basic_ostream>::_Sentry_base.104"* %6, i32 0, i32 0 %8 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %7, align 8 invoke void @"?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ"(%"class.std::basic_ostream.75"* %8) to label %9 unwind label %12 9: ; preds = %5 br label %10 10: ; preds = %9, %1 %11 = bitcast %"class.std::basic_ostream>::sentry.103"* %3 to %"class.std::basic_ostream>::_Sentry_base.104"* call void @"??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ"(%"class.std::basic_ostream>::_Sentry_base.104"* %11) #13 ret void 12: ; preds = %5 %13 = cleanuppad within none [] %14 = bitcast %"class.std::basic_ostream>::sentry.103"* %3 to %"class.std::basic_ostream>::_Sentry_base.104"* call void @"??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ"(%"class.std::basic_ostream>::_Sentry_base.104"* %14) #13 [ "funclet"(token %13) ] cleanupret from %13 unwind label %15 15: ; preds = %12 %16 = cleanuppad within none [] call void @__std_terminate() #16 [ "funclet"(token %16) ] unreachable } ; Function Attrs: nounwind declare dso_local zeroext i1 @"?uncaught_exception@std@@YA_NXZ"() local_unnamed_addr #6 declare dllimport void @"?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ"(%"class.std::basic_ostream.75"*) local_unnamed_addr #1 ; Function Attrs: noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local void @"??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ"(%"class.std::basic_ostream>::_Sentry_base.104"* %0) unnamed_addr #4 comdat align 2 personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) { %2 = alloca %"class.std::basic_ostream>::_Sentry_base.104"*, align 8 store %"class.std::basic_ostream>::_Sentry_base.104"* %0, %"class.std::basic_ostream>::_Sentry_base.104"** %2, align 8 %3 = load %"class.std::basic_ostream>::_Sentry_base.104"*, %"class.std::basic_ostream>::_Sentry_base.104"** %2, align 8 %4 = getelementptr inbounds %"class.std::basic_ostream>::_Sentry_base.104", %"class.std::basic_ostream>::_Sentry_base.104"* %3, i32 0, i32 0 %5 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 %6 = bitcast %"class.std::basic_ostream.75"* %5 to i8* %7 = getelementptr inbounds i8, i8* %6, i64 0 %8 = bitcast i8* %7 to i32** %9 = load i32*, i32** %8, align 8 %10 = getelementptr inbounds i32, i32* %9, i32 1 %11 = load i32, i32* %10, align 4 %12 = sext i32 %11 to i64 %13 = add nsw i64 0, %12 %14 = bitcast %"class.std::basic_ostream.75"* %5 to i8* %15 = getelementptr inbounds i8, i8* %14, i64 %13 %16 = bitcast i8* %15 to %"class.std::basic_ios.76"* %17 = invoke %"class.std::basic_streambuf.91"* @"?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"* %16) to label %18 unwind label %42 18: ; preds = %1 %19 = icmp ne %"class.std::basic_streambuf.91"* %17, null br i1 %19, label %20, label %41 20: ; preds = %18 %21 = getelementptr inbounds %"class.std::basic_ostream>::_Sentry_base.104", %"class.std::basic_ostream>::_Sentry_base.104"* %3, i32 0, i32 0 %22 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %21, align 8 %23 = bitcast %"class.std::basic_ostream.75"* %22 to i8* %24 = getelementptr inbounds i8, i8* %23, i64 0 %25 = bitcast i8* %24 to i32** %26 = load i32*, i32** %25, align 8 %27 = getelementptr inbounds i32, i32* %26, i32 1 %28 = load i32, i32* %27, align 4 %29 = sext i32 %28 to i64 %30 = add nsw i64 0, %29 %31 = bitcast %"class.std::basic_ostream.75"* %22 to i8* %32 = getelementptr inbounds i8, i8* %31, i64 %30 %33 = bitcast i8* %32 to %"class.std::basic_ios.76"* %34 = invoke %"class.std::basic_streambuf.91"* @"?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"* %33) to label %35 unwind label %42 35: ; preds = %20 %36 = bitcast %"class.std::basic_streambuf.91"* %34 to void (%"class.std::basic_streambuf.91"*)*** %37 = load void (%"class.std::basic_streambuf.91"*)**, void (%"class.std::basic_streambuf.91"*)*** %36, align 8 %38 = getelementptr inbounds void (%"class.std::basic_streambuf.91"*)*, void (%"class.std::basic_streambuf.91"*)** %37, i64 2 %39 = load void (%"class.std::basic_streambuf.91"*)*, void (%"class.std::basic_streambuf.91"*)** %38, align 8 invoke void %39(%"class.std::basic_streambuf.91"* %34) to label %40 unwind label %42 40: ; preds = %35 br label %41 41: ; preds = %40, %18 ret void 42: ; preds = %35, %20, %1 %43 = cleanuppad within none [] call void @__std_terminate() #16 [ "funclet"(token %43) ] unreachable } declare dso_local void @__std_terminate() local_unnamed_addr ; Function Attrs: noinline optnone sspstrong uwtable define linkonce_odr dso_local %"class.std::basic_ostream>::_Sentry_base.104"* @"??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z"(%"class.std::basic_ostream>::_Sentry_base.104"* returned %0, %"class.std::basic_ostream.75"* dereferenceable(8) %1) unnamed_addr #3 comdat align 2 { %3 = alloca %"class.std::basic_ostream>::_Sentry_base.104"*, align 8 %4 = alloca %"class.std::basic_ostream.75"*, align 8 %5 = alloca %"class.std::basic_ostream>::_Sentry_base.104"*, align 8 store %"class.std::basic_ostream.75"* %1, %"class.std::basic_ostream.75"** %4, align 8 store %"class.std::basic_ostream>::_Sentry_base.104"* %0, %"class.std::basic_ostream>::_Sentry_base.104"** %5, align 8 %6 = load %"class.std::basic_ostream>::_Sentry_base.104"*, %"class.std::basic_ostream>::_Sentry_base.104"** %5, align 8 store %"class.std::basic_ostream>::_Sentry_base.104"* %6, %"class.std::basic_ostream>::_Sentry_base.104"** %3, align 8 %7 = getelementptr inbounds %"class.std::basic_ostream>::_Sentry_base.104", %"class.std::basic_ostream>::_Sentry_base.104"* %6, i32 0, i32 0 %8 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %4, align 8 store %"class.std::basic_ostream.75"* %8, %"class.std::basic_ostream.75"** %7, align 8 %9 = getelementptr inbounds %"class.std::basic_ostream>::_Sentry_base.104", %"class.std::basic_ostream>::_Sentry_base.104"* %6, i32 0, i32 0 %10 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %9, align 8 %11 = bitcast %"class.std::basic_ostream.75"* %10 to i8* %12 = getelementptr inbounds i8, i8* %11, i64 0 %13 = bitcast i8* %12 to i32** %14 = load i32*, i32** %13, align 8 %15 = getelementptr inbounds i32, i32* %14, i32 1 %16 = load i32, i32* %15, align 4 %17 = sext i32 %16 to i64 %18 = add nsw i64 0, %17 %19 = bitcast %"class.std::basic_ostream.75"* %10 to i8* %20 = getelementptr inbounds i8, i8* %19, i64 %18 %21 = bitcast i8* %20 to %"class.std::basic_ios.76"* %22 = call %"class.std::basic_streambuf.91"* @"?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"* %21) %23 = icmp ne %"class.std::basic_streambuf.91"* %22, null br i1 %23, label %24, label %43 24: ; preds = %2 %25 = getelementptr inbounds %"class.std::basic_ostream>::_Sentry_base.104", %"class.std::basic_ostream>::_Sentry_base.104"* %6, i32 0, i32 0 %26 = load %"class.std::basic_ostream.75"*, %"class.std::basic_ostream.75"** %25, align 8 %27 = bitcast %"class.std::basic_ostream.75"* %26 to i8* %28 = getelementptr inbounds i8, i8* %27, i64 0 %29 = bitcast i8* %28 to i32** %30 = load i32*, i32** %29, align 8 %31 = getelementptr inbounds i32, i32* %30, i32 1 %32 = load i32, i32* %31, align 4 %33 = sext i32 %32 to i64 %34 = add nsw i64 0, %33 %35 = bitcast %"class.std::basic_ostream.75"* %26 to i8* %36 = getelementptr inbounds i8, i8* %35, i64 %34 %37 = bitcast i8* %36 to %"class.std::basic_ios.76"* %38 = call %"class.std::basic_streambuf.91"* @"?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"* %37) %39 = bitcast %"class.std::basic_streambuf.91"* %38 to void (%"class.std::basic_streambuf.91"*)*** %40 = load void (%"class.std::basic_streambuf.91"*)**, void (%"class.std::basic_streambuf.91"*)*** %39, align 8 %41 = getelementptr inbounds void (%"class.std::basic_streambuf.91"*)*, void (%"class.std::basic_streambuf.91"*)** %40, i64 1 %42 = load void (%"class.std::basic_streambuf.91"*)*, void (%"class.std::basic_streambuf.91"*)** %41, align 8 call void %42(%"class.std::basic_streambuf.91"* %38) br label %43 43: ; preds = %24, %2 %44 = load %"class.std::basic_ostream>::_Sentry_base.104"*, %"class.std::basic_ostream>::_Sentry_base.104"** %3, align 8 ret %"class.std::basic_ostream>::_Sentry_base.104"* %44 } declare dllimport zeroext i1 @"?good@ios_base@std@@QEBA_NXZ"(%"class.std::ios_base.77"*) local_unnamed_addr #1 declare dllimport %"class.std::basic_ostream.75"* @"?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ"(%"class.std::basic_ios.76"*) local_unnamed_addr #1 ; Function Attrs: argmemonly nofree nounwind readonly declare dso_local i64 @strlen(i8* nocapture) local_unnamed_addr #8 ; Function Attrs: noinline optnone sspstrong uwtable define weak_odr dso_local void @"??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z"(%"class.std::time_get.96"* %0, i16 %1, %"class.std::_Locinfo.99"* dereferenceable(104) %2) local_unnamed_addr #3 comdat align 2 { %4 = alloca %"class.std::_Locinfo.99"*, align 8 %5 = alloca i16, align 2 %6 = alloca %"class.std::time_get.96"*, align 8 %7 = alloca %struct._Cvtvec.98, align 4 store %"class.std::_Locinfo.99"* %2, %"class.std::_Locinfo.99"** %4, align 8 store i16 %1, i16* %5, align 2 store %"class.std::time_get.96"* %0, %"class.std::time_get.96"** %6, align 8 %8 = load %"class.std::time_get.96"*, %"class.std::time_get.96"** %6, align 8 %9 = load %"class.std::_Locinfo.99"*, %"class.std::_Locinfo.99"** %4, align 8 call void @"?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ"(%"class.std::_Locinfo.99"* %9, %struct._Cvtvec.98* sret align 4 %7) %10 = getelementptr inbounds %"class.std::time_get.96", %"class.std::time_get.96"* %8, i32 0, i32 5 %11 = bitcast %struct._Cvtvec.98* %10 to i8* %12 = bitcast %struct._Cvtvec.98* %7 to i8* call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %11, i8* align 4 %12, i64 44, i1 false) %13 = load %"class.std::_Locinfo.99"*, %"class.std::_Locinfo.99"** %4, align 8 %14 = call i16* @"?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ"(%"class.std::_Locinfo.99"* %13) %15 = call i16* @"?_Maklocwcs@std@@YAPEA_WPEB_W@Z"(i16* %14) %16 = bitcast i16* %15 to i8* %17 = getelementptr inbounds %"class.std::time_get.96", %"class.std::time_get.96"* %8, i32 0, i32 1 store i8* %16, i8** %17, align 8 %18 = load %"class.std::_Locinfo.99"*, %"class.std::_Locinfo.99"** %4, align 8 %19 = call i16* @"?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ"(%"class.std::_Locinfo.99"* %18) %20 = call i16* @"?_Maklocwcs@std@@YAPEA_WPEB_W@Z"(i16* %19) %21 = bitcast i16* %20 to i8* %22 = getelementptr inbounds %"class.std::time_get.96", %"class.std::time_get.96"* %8, i32 0, i32 2 store i8* %21, i8** %22, align 8 %23 = call i16* @"?_Maklocwcs@std@@YAPEA_WPEB_W@Z"(i16* getelementptr inbounds ([13 x i16], [13 x i16]* @"??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm?$AA?$AA@", i64 0, i64 0)) %24 = bitcast i16* %23 to i8* %25 = getelementptr inbounds %"class.std::time_get.96", %"class.std::time_get.96"* %8, i32 0, i32 3 store i8* %24, i8** %25, align 8 ret void } declare dllimport void @"?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ"(%"class.std::_Locinfo.99"*, %struct._Cvtvec.98* sret align 4) local_unnamed_addr #1 ; Function Attrs: argmemonly nounwind willreturn declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 declare dllimport i16* @"?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ"(%"class.std::_Locinfo.99"*) local_unnamed_addr #1 ; Function Attrs: noinline optnone sspstrong uwtable define linkonce_odr dso_local i16* @"?_Maklocwcs@std@@YAPEA_WPEB_W@Z"(i16* %0) local_unnamed_addr #3 comdat { %2 = alloca i16*, align 8 %3 = alloca i64, align 8 %4 = alloca i16*, align 8 store i16* %0, i16** %2, align 8 %5 = load i16*, i16** %2, align 8 %6 = call i64 @wcslen(i16* %5) #13 %7 = add i64 %6, 1 store i64 %7, i64* %3, align 8 %8 = load i64, i64* %3, align 8 %9 = call noalias i8* @calloc(i64 %8, i64 2) #13 %10 = bitcast i8* %9 to i16* store i16* %10, i16** %4, align 8 %11 = load i16*, i16** %4, align 8 %12 = icmp ne i16* %11, null br i1 %12, label %14, label %13 13: ; preds = %1 call void @"?_Xbad_alloc@std@@YAXXZ"() #14 unreachable 14: ; preds = %1 %15 = load i64, i64* %3, align 8 %16 = load i16*, i16** %2, align 8 %17 = load i16*, i16** %4, align 8 %18 = call i16* @wmemcpy(i16* %17, i16* %16, i64 %15) #13 %19 = load i16*, i16** %4, align 8 ret i16* %19 } declare dllimport i16* @"?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ"(%"class.std::_Locinfo.99"*) local_unnamed_addr #1 ; Function Attrs: argmemonly nofree nounwind readonly declare dllimport i64 @wcslen(i16* nocapture) local_unnamed_addr #8 ; Function Attrs: nofree nounwind declare dllimport noalias i8* @calloc(i64, i64) local_unnamed_addr #10 ; Function Attrs: noreturn declare dso_local void @"?_Xbad_alloc@std@@YAXXZ"() local_unnamed_addr #11 ; Function Attrs: nobuiltin noinline nounwind optnone sspstrong uwtable define linkonce_odr dso_local i16* @wmemcpy(i16* %0, i16* %1, i64 %2) local_unnamed_addr #12 comdat { %4 = alloca i64, align 8 %5 = alloca i16*, align 8 %6 = alloca i16*, align 8 store i64 %2, i64* %4, align 8 store i16* %1, i16** %5, align 8 store i16* %0, i16** %6, align 8 %7 = load i16*, i16** %6, align 8 %8 = bitcast i16* %7 to i8* %9 = load i16*, i16** %5, align 8 %10 = bitcast i16* %9 to i8* %11 = load i64, i64* %4, align 8 %12 = mul i64 %11, 2 call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 2 %8, i8* align 2 %10, i64 %12, i1 false) %13 = bitcast i8* %8 to i16* ret i16* %13 } ; Function Attrs: noinline optnone sspstrong uwtable define weak_odr dso_local void @"??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z"(%"class.std::time_get.102"* %0, i16 %1, %"class.std::_Locinfo.99"* dereferenceable(104) %2) local_unnamed_addr #3 comdat align 2 { %4 = alloca %"class.std::_Locinfo.99"*, align 8 %5 = alloca i16, align 2 %6 = alloca %"class.std::time_get.102"*, align 8 %7 = alloca %struct._Cvtvec.98, align 4 store %"class.std::_Locinfo.99"* %2, %"class.std::_Locinfo.99"** %4, align 8 store i16 %1, i16* %5, align 2 store %"class.std::time_get.102"* %0, %"class.std::time_get.102"** %6, align 8 %8 = load %"class.std::time_get.102"*, %"class.std::time_get.102"** %6, align 8 %9 = load %"class.std::_Locinfo.99"*, %"class.std::_Locinfo.99"** %4, align 8 call void @"?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ"(%"class.std::_Locinfo.99"* %9, %struct._Cvtvec.98* sret align 4 %7) %10 = getelementptr inbounds %"class.std::time_get.102", %"class.std::time_get.102"* %8, i32 0, i32 5 %11 = bitcast %struct._Cvtvec.98* %10 to i8* %12 = bitcast %struct._Cvtvec.98* %7 to i8* call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %11, i8* align 4 %12, i64 44, i1 false) %13 = load %"class.std::_Locinfo.99"*, %"class.std::_Locinfo.99"** %4, align 8 %14 = call i16* @"?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ"(%"class.std::_Locinfo.99"* %13) %15 = call i16* @"?_Maklocwcs@std@@YAPEA_WPEB_W@Z"(i16* %14) %16 = getelementptr inbounds %"class.std::time_get.102", %"class.std::time_get.102"* %8, i32 0, i32 1 store i16* %15, i16** %16, align 8 %17 = load %"class.std::_Locinfo.99"*, %"class.std::_Locinfo.99"** %4, align 8 %18 = call i16* @"?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ"(%"class.std::_Locinfo.99"* %17) %19 = call i16* @"?_Maklocwcs@std@@YAPEA_WPEB_W@Z"(i16* %18) %20 = getelementptr inbounds %"class.std::time_get.102", %"class.std::time_get.102"* %8, i32 0, i32 2 store i16* %19, i16** %20, align 8 %21 = call i16* @"?_Maklocwcs@std@@YAPEA_WPEB_W@Z"(i16* getelementptr inbounds ([13 x i16], [13 x i16]* @"??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm?$AA?$AA@", i64 0, i64 0)) %22 = getelementptr inbounds %"class.std::time_get.102", %"class.std::time_get.102"* %8, i32 0, i32 3 store i16* %21, i16** %22, align 8 ret void } ; Function Attrs: noinline sspstrong uwtable define internal void @_GLOBAL__sub_I__null_.2() #0 { tail call fastcc void @"??__EX_AXIS@nv@@YAXXZ.3"() tail call fastcc void @"??__EY_AXIS@nv@@YAXXZ.4"() tail call fastcc void @"??__EZ_AXIS@nv@@YAXXZ.5"() ret void } ; Function Attrs: noinline sspstrong uwtable define internal fastcc void @"??__EX_AXIS@nv@@YAXXZ.3"() unnamed_addr #0 { %1 = tail call %"class.nv::Vec3d.74"* @"??0Vec3d@nv@@QEAA@NNN@Z"(%"class.nv::Vec3d.74"* nonnull @"?X_AXIS@nv@@3VVec3d@1@B.8", double 1.000000e+00, double 0.000000e+00, double 0.000000e+00) ret void } ; Function Attrs: noinline sspstrong uwtable define internal fastcc void @"??__EY_AXIS@nv@@YAXXZ.4"() unnamed_addr #0 { %1 = tail call %"class.nv::Vec3d.74"* @"??0Vec3d@nv@@QEAA@NNN@Z"(%"class.nv::Vec3d.74"* nonnull @"?Y_AXIS@nv@@3VVec3d@1@B.7", double 0.000000e+00, double 1.000000e+00, double 0.000000e+00) ret void } ; Function Attrs: noinline sspstrong uwtable define internal fastcc void @"??__EZ_AXIS@nv@@YAXXZ.5"() unnamed_addr #0 { %1 = tail call %"class.nv::Vec3d.74"* @"??0Vec3d@nv@@QEAA@NNN@Z"(%"class.nv::Vec3d.74"* nonnull @"?Z_AXIS@nv@@3VVec3d@1@B.6", double 0.000000e+00, double 0.000000e+00, double 1.000000e+00) ret void } attributes #0 = { noinline sspstrong uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #2 = { noinline noreturn optnone sspstrong uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #3 = { noinline optnone sspstrong uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #4 = { noinline nounwind optnone sspstrong uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #5 = { argmemonly nounwind willreturn writeonly } attributes #6 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #7 = { nobuiltin nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #8 = { argmemonly nofree nounwind readonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #9 = { argmemonly nounwind willreturn } attributes #10 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #11 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #12 = { nobuiltin noinline nounwind optnone sspstrong uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #13 = { nounwind } attributes #14 = { noreturn } attributes #15 = { builtin nounwind } attributes #16 = { noreturn nounwind } !llvm.linker.options = !{!0, !1, !2, !3, !4, !5, !5, !0, !1, !2, !3, !4, !5, !5} !llvm.ident = !{!6, !6} !llvm.module.flags = !{!7, !8} !0 = !{!"/FAILIFMISMATCH:\22_MSC_VER=1900\22"} !1 = !{!"/FAILIFMISMATCH:\22_ITERATOR_DEBUG_LEVEL=0\22"} !2 = !{!"/FAILIFMISMATCH:\22RuntimeLibrary=MD_DynamicRelease\22"} !3 = !{!"/DEFAULTLIB:msvcprt.lib"} !4 = !{!"/FAILIFMISMATCH:\22_CRT_STDIO_ISO_WIDE_SPECIFIERS=0\22"} !5 = !{!"/DEFAULTLIB:uuid.lib"} !6 = !{!"clang version 11.0.0 (ssh://git@gitlab.nervtech.org:22002/nerv/NervSeed.git 8512fe463218bc327ae31fb76b8eb2e0fc894c25)"} !7 = !{i32 1, !"wchar_size", i32 2} !8 = !{i32 7, !"PIC Level", i32 2}