-
-
Save carlokok/868cddebeb9acc8ccbac6253de0480b0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'CC0' | |
source_filename = "CC0" | |
target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32" | |
target triple = "i686-pc-windows-msvc" | |
%._ConsoleApplication3.Step1Exception = type { %._RemObjects.Elements.System.Exception } | |
%._RemObjects.Elements.System.Exception = type { %._RemObjects.Elements.System.Object, %._RemObjects.Elements.System.String*, i8* } | |
%._RemObjects.Elements.System.Object = type { i8* } | |
%._RemObjects.Elements.System.String = type { %._RemObjects.Elements.System.Object, i32, i16 } | |
%._ConsoleApplication3.Step2Exception = type { %._RemObjects.Elements.System.Exception } | |
%"._gt22_RemObjects.Elements.System.Array`1s" = type { %._RemObjects.Elements.System.Array, %._RemObjects.Elements.System.String* } | |
%._RemObjects.Elements.System.Array = type { %._RemObjects.Elements.System.Object, i32 } | |
%._ConsoleApplication3.Program = type { %._RemObjects.Elements.System.Object } | |
%._RemObjects.Elements.System.MSVCExceptionInfo = type { i32, i32, %._RemObjects.Elements.System.MSVCUnwindMap*, i32, %._RemObjects.Elements.System.MSVCTryMap*, i32, %._RemObjects.Elements.System.MSVCIpToSate* } | |
%._RemObjects.Elements.System.MSVCUnwindMap = type { i32, void ()* } | |
%._RemObjects.Elements.System.MSVCTryMap = type { i32, i32, i32, i32, %._RemObjects.Elements.System.MSVCHandlerType* } | |
%._RemObjects.Elements.System.MSVCHandlerType = type { i32, %._RemObjects.Elements.System.ElementsExceptionType*, i32, void ()* } | |
%._RemObjects.Elements.System.ElementsExceptionType = type { i8*, i8 (i8*)* } | |
%._RemObjects.Elements.System.MSVCIpToSate = type { i32, i32 } | |
%._rtl.EXCEPTION_RECORD = type { i32, i32, i8*, i8*, i32, [15 x i32] } | |
%._RemObjects.Elements.System.ElementsRegistrationFrame = type { i8*, %._RemObjects.Elements.System.ElementsRegistrationFrame*, i8*, i32 } | |
%._rtl.CONTEXT = type { i32, i32, i32, i32, i32, i32, i32, %._rtl.FLOATING_SAVE_AREA, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [512 x i8] } | |
%._rtl.FLOATING_SAVE_AREA = type { i32, i32, i32, i32, i32, i32, i32, [80 x i8], i32 } | |
@_rtti_t24_RemObjects.Elements.System.Exception = external global i8 | |
@_rtti_o = external global i8 | |
@.str0 = private unnamed_addr constant [35 x i8] c"ConsoleApplication3.Step1Exception\00", align 1 | |
@_ext_rtti_t22_ConsoleApplication3.Step1Exception = constant { i64, [35 x i8]*, i8* } { i64 0, [35 x i8]* @.str0, i8* null } | |
@_rtti_t22_ConsoleApplication3.Step1Exception = local_unnamed_addr constant { { i64, [35 x i8]*, i8* }*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8* } { { i64, [35 x i8]*, i8* }* @_ext_rtti_t22_ConsoleApplication3.Step1Exception, i8* @_rtti_t24_RemObjects.Elements.System.Exception, i8* null, i8* null, i8* bitcast (void (%._RemObjects.Elements.System.Object*)* @__default_finalize to i8*), i8* bitcast (%._RemObjects.Elements.System.String* (%._RemObjects.Elements.System.Exception*)* @mi_t24_RemObjects.Elements.System.Exception8_ToString to i8*), i8* bitcast (i32 (%._RemObjects.Elements.System.Object*)* @mi_ob_GetHashCode to i8*), i8* bitcast (i8 (%._RemObjects.Elements.System.Object*, %._RemObjects.Elements.System.Object*)* @mi_o6_Equalsno to i8*), i8* bitcast (%._RemObjects.Elements.System.String* (%._RemObjects.Elements.System.Exception*)* @mi_t24_RemObjects.Elements.System.Exceptionb_get_Message to i8*) } | |
@.str1 = private unnamed_addr constant [35 x i8] c"ConsoleApplication3.Step2Exception\00", align 1 | |
@_ext_rtti_t22_ConsoleApplication3.Step2Exception = constant { i64, [35 x i8]*, i8* } { i64 0, [35 x i8]* @.str1, i8* null } | |
@_rtti_t22_ConsoleApplication3.Step2Exception = local_unnamed_addr constant { { i64, [35 x i8]*, i8* }*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8* } { { i64, [35 x i8]*, i8* }* @_ext_rtti_t22_ConsoleApplication3.Step2Exception, i8* @_rtti_t24_RemObjects.Elements.System.Exception, i8* null, i8* null, i8* bitcast (void (%._RemObjects.Elements.System.Object*)* @__default_finalize to i8*), i8* bitcast (%._RemObjects.Elements.System.String* (%._RemObjects.Elements.System.Exception*)* @mi_t24_RemObjects.Elements.System.Exception8_ToString to i8*), i8* bitcast (i32 (%._RemObjects.Elements.System.Object*)* @mi_ob_GetHashCode to i8*), i8* bitcast (i8 (%._RemObjects.Elements.System.Object*, %._RemObjects.Elements.System.Object*)* @mi_o6_Equalsno to i8*), i8* bitcast (%._RemObjects.Elements.System.String* (%._RemObjects.Elements.System.Exception*)* @mi_t24_RemObjects.Elements.System.Exceptionb_get_Message to i8*) } | |
@.str2 = private unnamed_addr constant [28 x i8] c"ConsoleApplication3.Program\00", align 1 | |
@_ext_rtti_t1b_ConsoleApplication3.Program = constant { i64, [28 x i8]*, i8* } { i64 0, [28 x i8]* @.str2, i8* null } | |
@_rtti_t1b_ConsoleApplication3.Program = local_unnamed_addr constant { { i64, [28 x i8]*, i8* }*, i8*, i8*, i8*, i8*, i8*, i8*, i8* } { { i64, [28 x i8]*, i8* }* @_ext_rtti_t1b_ConsoleApplication3.Program, i8* @_rtti_o, i8* null, i8* null, i8* bitcast (void (%._RemObjects.Elements.System.Object*)* @__default_finalize to i8*), i8* bitcast (%._RemObjects.Elements.System.String* (%._RemObjects.Elements.System.Object*)* @mi_o8_ToString to i8*), i8* bitcast (i32 (%._RemObjects.Elements.System.Object*)* @mi_ob_GetHashCode to i8*), i8* bitcast (i8 (%._RemObjects.Elements.System.Object*, %._RemObjects.Elements.System.Object*)* @mi_o6_Equalsno to i8*) } | |
@_rtti_s = external global i8 | |
@.str3 = private unnamed_addr constant { i8*, i32, [2 x i8] } { i8* @_rtti_s, i32 0, [2 x i8] zeroinitializer }, align 4 | |
@0 = private unnamed_addr constant { i8*, i8* } { i8* @_rtti_t24_RemObjects.Elements.System.Exception, i8* null } | |
define void @mi_t22_ConsoleApplication3.Step1Exception5_.ctorns(%._ConsoleApplication3.Step1Exception*, %._RemObjects.Elements.System.String*) local_unnamed_addr #0 { | |
BasicBlock0: | |
%2 = getelementptr inbounds %._ConsoleApplication3.Step1Exception, %._ConsoleApplication3.Step1Exception* %0, i32 0, i32 0 | |
tail call void @mi_t24_RemObjects.Elements.System.Exception5_.ctorns(%._RemObjects.Elements.System.Exception* %2, %._RemObjects.Elements.System.String* %1) | |
ret void | |
} | |
define void @mi_t22_ConsoleApplication3.Step2Exception5_.ctorns(%._ConsoleApplication3.Step2Exception*, %._RemObjects.Elements.System.String*) local_unnamed_addr #0 { | |
BasicBlock3: | |
%2 = getelementptr inbounds %._ConsoleApplication3.Step2Exception, %._ConsoleApplication3.Step2Exception* %0, i32 0, i32 0 | |
tail call void @mi_t24_RemObjects.Elements.System.Exception5_.ctorns(%._RemObjects.Elements.System.Exception* %2, %._RemObjects.Elements.System.String* %1) | |
ret void | |
} | |
define i8* @myframeaddress(i32) | |
{ | |
ret i8* null | |
} | |
; Function Attrs: noreturn | |
define i32 @__elements_entry_point(%"._gt22_RemObjects.Elements.System.Array`1s"* nocapture readnone) local_unnamed_addr #1 personality i8* bitcast (i32 (%._RemObjects.Elements.System.MSVCExceptionInfo*, %._rtl.EXCEPTION_RECORD*, %._RemObjects.Elements.System.ElementsRegistrationFrame*, %._rtl.CONTEXT*, i8*)* @__CxxFrameHandler3 to i8*) { | |
BasicBlock6: | |
%1 = alloca %._RemObjects.Elements.System.Exception*, align 4 | |
store %._RemObjects.Elements.System.Exception* null, %._RemObjects.Elements.System.Exception** %1, align 4 | |
%2 = invoke i8* @__newinst(i8* nonnull @_rtti_t24_RemObjects.Elements.System.Exception, i32 12) | |
to label %BasicBlock8 unwind label %6 | |
BasicBlock8: ; preds = %BasicBlock6 | |
%3 = bitcast i8* %2 to %._RemObjects.Elements.System.Exception* | |
invoke void @mi_t24_RemObjects.Elements.System.Exception5_.ctorns(%._RemObjects.Elements.System.Exception* %3, %._RemObjects.Elements.System.String* bitcast ({ i8*, i32, [2 x i8] }* @.str3 to %._RemObjects.Elements.System.String*)) | |
to label %BasicBlock9 unwind label %6 | |
BasicBlock9: ; preds = %BasicBlock8 | |
%4 = tail call i8* @myframeaddress(i32 0) | |
%5 = bitcast i8* %2 to %._RemObjects.Elements.System.Object* | |
invoke void @ElementsRaiseException(i8* null, i8* %4, %._RemObjects.Elements.System.Object* %5) | |
to label %BasicBlock15 unwind label %6 | |
; <label>:6: ; preds = %BasicBlock9, %BasicBlock8, %BasicBlock6 | |
%7 = catchswitch within none [label %BasicBlock12] unwind label %10 | |
BasicBlock12: ; preds = %6 | |
%8 = catchpad within %7 [{ i8*, i8* }* @0, i32 0, %._RemObjects.Elements.System.Exception** %1] | |
%9 = call i8* @myframeaddress(i32 0) | |
invoke void @ElementsRaiseException(i8* null, i8* %9, %._RemObjects.Elements.System.Object* null) | |
to label %BasicBlock14 unwind label %10 | |
BasicBlock14: ; preds = %BasicBlock12 | |
catchret from %8 to label %BasicBlock15 | |
; <label>:10: ; preds = %BasicBlock12, %6 | |
%11 = catchswitch within none [label %BasicBlock16] unwind to caller | |
BasicBlock15: ; preds = %BasicBlock14, %BasicBlock9 | |
unreachable | |
BasicBlock16: ; preds = %10 | |
%12 = catchpad within %11 [{ i8*, i8* }* @0, i32 0, %._RemObjects.Elements.System.Exception** %1] | |
%13 = call i8* @myframeaddress(i32 0) | |
call void @ElementsRaiseException(i8* null, i8* %13, %._RemObjects.Elements.System.Object* null) | |
catchret from %12 to label %BasicBlock17 | |
BasicBlock17: ; preds = %BasicBlock16 | |
unreachable | |
} | |
define void @mi_t1b_ConsoleApplication3.Program5_.ctor(%._ConsoleApplication3.Program*) local_unnamed_addr #0 { | |
BasicBlock18: | |
%1 = getelementptr inbounds %._ConsoleApplication3.Program, %._ConsoleApplication3.Program* %0, i32 0, i32 0 | |
tail call void @mi_o5_.ctor(%._RemObjects.Elements.System.Object* %1) | |
ret void | |
} | |
declare void @__default_finalize(%._RemObjects.Elements.System.Object*) | |
declare %._RemObjects.Elements.System.String* @mi_o8_ToString(%._RemObjects.Elements.System.Object*) | |
declare i32 @mi_ob_GetHashCode(%._RemObjects.Elements.System.Object*) | |
declare i8 @mi_o6_Equalsno(%._RemObjects.Elements.System.Object*, %._RemObjects.Elements.System.Object*) | |
declare %._RemObjects.Elements.System.String* @mi_t24_RemObjects.Elements.System.Exception8_ToString(%._RemObjects.Elements.System.Exception*) | |
declare %._RemObjects.Elements.System.String* @mi_t24_RemObjects.Elements.System.Exceptionb_get_Message(%._RemObjects.Elements.System.Exception*) | |
declare void @mi_t24_RemObjects.Elements.System.Exception5_.ctorns(%._RemObjects.Elements.System.Exception*, %._RemObjects.Elements.System.String*) local_unnamed_addr | |
declare x86_stdcallcc i32 @__CxxFrameHandler3(%._RemObjects.Elements.System.MSVCExceptionInfo*, %._rtl.EXCEPTION_RECORD*, %._RemObjects.Elements.System.ElementsRegistrationFrame*, %._rtl.CONTEXT*, i8*) | |
declare i8* @__newinst(i8*, i32) local_unnamed_addr | |
declare void @ElementsRaiseException(i8*, i8*, %._RemObjects.Elements.System.Object*) local_unnamed_addr | |
declare void @mi_o5_.ctor(%._RemObjects.Elements.System.Object*) local_unnamed_addr | |
attributes #0 = { "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" } | |
attributes #1 = { noreturn "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" } | |
attributes #2 = { nounwind readnone } | |
!llvm.module.flags = !{!0, !1} | |
!0 = !{i32 2, !"Dwarf Version", i32 4} | |
!1 = !{i32 2, !"Debug Info Version", i32 3} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment