; ModuleID = 'main_func_dis_before.ll' source_filename = "main.cpp" target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-windows-msvc19.44.35217" %rtti.TypeDescriptor2 = type { ptr, ptr, [3 x i8] } %eh.ThrowInfo = type { i32, i32, i32, i32 } @"??_R0H@8" = external global %rtti.TypeDescriptor2 @_TI1H = external unnamed_addr constant %eh.ThrowInfo, section ".xdata" @"??_C@_03PMGGPEJJ@?$CFd?6?$AA@" = external dso_local unnamed_addr constant [4 x i8], align 1 @llvm.used = appending global [1 x ptr] [ptr @asan.module_ctor], section "llvm.metadata" @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 1, ptr @asan.module_ctor, ptr null }] ; Function Attrs: mustprogress noinline norecurse optnone uwtable define dso_local noundef i32 @main() #0 personality ptr @__CxxFrameHandler3 { entry: %retval = alloca i32, align 4 %tmp = alloca i32, align 4 %ex = alloca i32, align 4 store i32 0, ptr %retval, align 4 store i32 1, ptr %tmp, align 4 invoke void @_CxxThrowException(ptr %tmp, ptr @_TI1H) #3 to label %unreachable unwind label %catch.dispatch catch.dispatch: ; preds = %entry %0 = catchswitch within none [label %catch] unwind to caller catch: ; preds = %catch.dispatch %1 = catchpad within %0 [ptr @"??_R0H@8", i32 0, ptr %ex] %2 = load i32, ptr %ex, align 4 %call = call i32 (ptr, ...) @printf(ptr noundef @"??_C@_03PMGGPEJJ@?$CFd?6?$AA@", i32 noundef %2) [ "funclet"(token %1) ] store i32 -1, ptr %retval, align 4 catchret from %1 to label %catchret.dest catchret.dest: ; preds = %catch br label %return try.cont: ; No predecessors! store i32 0, ptr %retval, align 4 br label %return return: ; preds = %try.cont, %catchret.dest %3 = load i32, ptr %retval, align 4 ret i32 %3 unreachable: ; preds = %entry unreachable } declare dso_local void @_CxxThrowException(ptr, ptr) declare dso_local i32 @__CxxFrameHandler3(...) ; Function Attrs: mustprogress noinline optnone uwtable declare dso_local i32 @printf(ptr noundef, ...) #1 declare void @__asan_before_dynamic_init(i64) declare void @__asan_after_dynamic_init() declare void @__asan_register_globals(i64, i64) declare void @__asan_unregister_globals(i64, i64) declare void @__asan_register_image_globals(i64) declare void @__asan_unregister_image_globals(i64) declare void @__asan_register_elf_globals(i64, i64, i64) declare void @__asan_unregister_elf_globals(i64, i64, i64) declare void @__asan_init() ; Function Attrs: nounwind uwtable define internal void @asan.module_ctor() #2 { call void @__asan_init() call void @__asan_version_mismatch_check_v8() ret void } declare void @__asan_version_mismatch_check_v8() attributes #0 = { mustprogress noinline norecurse optnone 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 noinline optnone uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #2 = { nounwind uwtable } attributes #3 = { noreturn } !llvm.dbg.cu = !{!0} !llvm.linker.options = !{!2, !3, !4, !5, !6} !llvm.module.flags = !{!7, !8, !9, !10, !11, !12} !llvm.ident = !{!13} !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !1, producer: "clang version 22.0.0git (https://github.com/llvm/llvm-project.git 2326be0809f140351ae1f740a18d9214ca878019)", isOptimized: false, runtimeVersion: 0, emissionKind: NoDebug, splitDebugInlining: false, nameTableKind: None) !1 = !DIFile(filename: "main.cpp", directory: "C:\\Users\\dajusto\\source\\repos\\llvm-project\\scratch") !2 = !{!"/FAILIFMISMATCH:\22_MSC_VER=1900\22"} !3 = !{!"/FAILIFMISMATCH:\22_ITERATOR_DEBUG_LEVEL=0\22"} !4 = !{!"/FAILIFMISMATCH:\22RuntimeLibrary=MT_StaticRelease\22"} !5 = !{!"/DEFAULTLIB:libcpmt.lib"} !6 = !{!"/FAILIFMISMATCH:\22_CRT_STDIO_ISO_WIDE_SPECIFIERS=0\22"} !7 = !{i32 2, !"Debug Info Version", i32 3} !8 = !{i32 1, !"wchar_size", i32 2} !9 = !{i32 8, !"PIC Level", i32 2} !10 = !{i32 7, !"uwtable", i32 2} !11 = !{i32 1, !"MaxTLSAlign", i32 65536} !12 = !{i32 4, !"nosanitize_address", i32 1} !13 = !{!"clang version 22.0.0git (https://github.com/llvm/llvm-project.git 2326be0809f140351ae1f740a18d9214ca878019)"}