Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ModuleID = 'mono_aot_xBUIbi/temp.opt.bc'
- source_filename = "aot"
- %MonoAotFileInfo = type { i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [11 x i32], [6 x i32], [6 x i32], [6 x i32], [6 x i32], [16 x i8] }
- @method_info_offsets = internal constant [35 x i8] c"\0B\00\00\00\0A\00\00\00\02\00\00\00\02\00\00\00\00\00\0E\00\01\01\01\01\06\05\FF\FF\FF\FF\F1\10\01\01\13", align 8
- @extra_method_table = internal constant [148 x i8] c"\0B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$\00\00\00\09\00\00\00\00\00\00\00\1C\00\00\00\08\00\00\00\0B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\0A\00\00\00\00\00\00\00", align 8
- @extra_method_info_offsets = internal constant [36 x i8] c"\04\00\00\00\07\00\00\00\14\00\00\00\08\00\00\00\1C\00\00\00\09\00\00\00$\00\00\00\0A\00\00\00,\00\00\00", align 8
- @class_name_table = internal constant [50 x i8] c"\0B\00\01\00\0B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00", align 8
- @got_info_offsets = internal constant [52 x i8] c"\1D\00\00\00\0A\00\00\00\03\00\00\00\02\00\00\00\00\00\0A\00\14\004\02\01\01\01\01\01\01\01\02A\02\02\02\02\02\02\02\02\1B\80\88)++(#!\1D\19", align 8
- @llvm_got_info_offsets = internal constant [64 x i8] c"$\00\00\00\0A\00\00\00\04\00\00\00\02\00\00\00\00\00\0B\00\16\00!\00\82g\02\01\01\01\01\01\01\01\02\82t\02\02\02\02\02\02\02\02\1B\82\BB)++(#!\1D\19\18\83\F7\03\03\03\04\03", align 8
- @ex_info_offsets = internal constant [38 x i8] c"\0B\00\00\00\0A\00\00\00\02\00\00\00\02\00\00\00\00\00\10\00\84\0A\05\05\05\05\05\FF\FF\FF\FB\DD\84(\05\05\847", align 8
- @class_info_offsets = internal constant [21 x i8] c"\02\00\00\00\0A\00\00\00\01\00\00\00\02\00\00\00\00\00\84<\07", align 8
- @image_table = internal constant [172 x i8] c"\02\00\00\00mscorlib\0015CD4655-8B75-42AB-9375-D34803B13D17\00\007cec85d7bea7798e\00\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00NoThrowInline\006AA7137E-C668-40A9-BE43-4264F02EA0A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00S\1B\00\00G{\00\00", align 8
- @weak_field_indexes = internal constant [4 x i8] zeroinitializer, align 8
- @blob = internal constant [1111 x i8] c"\00\00\00\00\04\04 \1F\1E\1D\04\03#\22!\00\00\00\00\00\FF\FC\00\00\00\16\1D\00\FF\FC\00\00\00\16\1D\01\FF\FC\00\00\00\16\1D\02\FF\FC\00\00\00\16\1D\03\0C\01$&.24 07\008\007\018\017\028\027\038\037\048\049\18mono_threads_attach_coop\00\07\19mini_llvmonly_init_method\00\07&mini_llvmonly_init_gshared_method_this\00\07(mini_llvmonly_init_gshared_method_mrgctx\00\07(mini_llvmonly_init_gshared_method_vtable\00\07%mini_llvmonly_throw_nullref_exception\00\07 mono_llvm_throw_corlib_exception\00\07\1Emini_llvmonly_init_vtable_slot\00\07\1Amono_helper_ldstr_mscorlib\00\07\16mono_fill_method_rgctx\00\07\15mono_fill_class_rgctx\00\07\17mono_threads_state_poll\00\03\C1\00\00\02\07\1Emono_create_corlib_exception_0\00\07\19mono_arch_throw_exception\00\03\C1\00\00\01\03\C1\00\00\03\03\FF\FC\00\00\00\19\02\03\97\C4\03\C1\00\00\04\07*llvm_throw_corlib_exception_abs_trampoline\00\03\86F\0C\01$&.24 07\008\007\018\017\028\027\038\037\048\049\18mono_threads_attach_coop\00\07\19mini_llvmonly_init_method\00\07&mini_llvmonly_init_gshared_method_this\00\07(mini_llvmonly_init_gshared_method_mrgctx\00\07(mini_llvmonly_init_gshared_method_vtable\00\07%mini_llvmonly_throw_nullref_exception\00\07 mono_llvm_throw_corlib_exception\00\07\1Emini_llvmonly_init_vtable_slot\00\07\1Amono_helper_ldstr_mscorlib\00\07\16mono_fill_method_rgctx\00\07\15mono_fill_class_rgctx\00\10\01\01\10\01\05\10\01\0B\10\01\13\0E\02\02\01\10\01\1D\10\017\18\00\00\00\00\18\00\00\00\00\18\00\00\00\00\18\00\00\00\00\18\00\00\00\00\18\00\00\00\00\18\00\00\00\00\18\00\00\00\00\18\00\00\00\00\18\00\00\00\00\00\80\90\10\00\00\01\04\80\90\10\00\00\01\99*\99'\99&\99#sgen\00", align 8
- @runtime_version = internal constant [1 x i8] zeroinitializer, align 8
- @assembly_guid = internal constant [37 x i8] c"6AA7137E-C668-40A9-BE43-4264F02EA0A3\00", align 8
- @assembly_name = internal constant [14 x i8] c"NoThrowInline\00", align 8
- @mono_aot_NoThrowInline_llvm_got = hidden global [36 x i64*] zeroinitializer
- @mono_inited = internal unnamed_addr global [5 x i8] zeroinitializer
- @NoThrowInline_unbox_tramp_indexes = local_unnamed_addr global [0 x i16] zeroinitializer
- @NoThrowInline_unbox_trampolines = local_unnamed_addr global [0 x i8*] zeroinitializer
- @mono_aot_file_info = local_unnamed_addr global %MonoAotFileInfo { i32 156, i32 0, i8* @mono_aot_NoThrowInlinejit_got, i8* bitcast ([36 x i64*]* @mono_aot_NoThrowInline_llvm_got to i8*), i8* bitcast (i8** @mono_aot_NoThrowInline_eh_frame to i8*), i8* bitcast (i8* (i32)* @mono_aot_NoThrowInline_get_method to i8*), i8* null, i8* null, i8* null, i8* @mono_aot_NoThrowInlinemethod_addresses, i8* null, i8* null, i8* getelementptr inbounds ([1111 x i8], [1111 x i8]* @blob, i32 0, i32 0), i8* getelementptr inbounds ([50 x i8], [50 x i8]* @class_name_table, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @class_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([35 x i8], [35 x i8]* @method_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([38 x i8], [38 x i8]* @ex_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([36 x i8], [36 x i8]* @extra_method_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([148 x i8], [148 x i8]* @extra_method_table, i32 0, i32 0), i8* getelementptr inbounds ([52 x i8], [52 x i8]* @got_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @llvm_got_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([172 x i8], [172 x i8]* @image_table, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @weak_field_indexes, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @assembly_guid, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @runtime_version, i32 0, i32 0), i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @assembly_name, i32 0, i32 0), i8* @mono_aot_NoThrowInlineplt, i8* @mono_aot_NoThrowInlineplt_end, i8* @mono_aot_NoThrowInlineunwind_info, i8* @mono_aot_NoThrowInlineunbox_trampolines, i8* @mono_aot_NoThrowInlineunbox_trampolines_end, i8* @mono_aot_NoThrowInlineunbox_trampoline_addresses, i32 29, i32 328, i32 12, i32 10, i32 4, i32 35, i32 391211519, i32 63, i32 1106, i32 128, i32 8, i32 8, i32 8, i32 9, i32 8388607, i32 0, i32 29, i32 0, i32 0, i32 2, [11 x i32] zeroinitializer, [6 x i32] [i32 4096, i32 4096, i32 512, i32 512, i32 0, i32 0], [6 x i32] zeroinitializer, [6 x i32] zeroinitializer, [6 x i32] zeroinitializer, [16 x i8] c"\B2\A6\EDk\8C\8B\85)H~\E6\8B\B8\A2\E0\D4" }
- @mono_aot_NoThrowInlinejit_got = external hidden global i8
- @mono_aot_NoThrowInline_eh_frame = external global i8*
- @mono_aot_NoThrowInlinemethod_addresses = external hidden global i8
- @mono_aot_NoThrowInlineplt = external hidden global i8
- @mono_aot_NoThrowInlineplt_end = external hidden global i8
- @mono_aot_NoThrowInlineunwind_info = external hidden global i8
- @mono_aot_NoThrowInlineunbox_trampolines = external hidden global i8
- @mono_aot_NoThrowInlineunbox_trampolines_end = external hidden global i8
- @mono_aot_NoThrowInlineunbox_trampoline_addresses = external hidden global i8
- @llvm.used = appending global [13 x i8*] [i8* bitcast (i32 (i64*, i64*, i64*, i64*)* @NoThrowInline_MainClass_Bench_string_string_string_string to i8*), i8* bitcast (void (i64*)* @NoThrowInline_MainClass_Main_string__ to i8*), i8* bitcast (void (i64*)* @NoThrowInline_MainClass_TestMethod to i8*), i8* bitcast (void ()* @NoThrowInline_MainClass_ThrowArgumentNullException to i8*), i8* bitcast (void (i64*)* @NoThrowInline_MainClass_ThrowIfNull_string to i8*), i8* bitcast (void (i64*)* @NoThrowInline_MainClass__ctor to i8*), i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i8* bitcast (void (i32)* @init_method to i8*), i8* bitcast (void (i32, i64)* @init_method_gshared_mrgctx to i8*), i8* bitcast (void (i32, i64*)* @init_method_gshared_this to i8*), i8* bitcast (void (i32, i64)* @init_method_gshared_vtable to i8*), i8* bitcast (i8* (i32)* @mono_aot_NoThrowInline_get_method to i8*), i8* bitcast ([36 x i64*]* @mono_aot_NoThrowInline_llvm_got to i8*)], section "llvm.metadata"
- ; Function Attrs: norecurse nounwind readnone
- define internal void @llvm_code_start() #0 {
- ENTRY:
- ret void
- }
- ; Function Attrs: noinline
- define hidden monocc void @init_method(i32) #1 {
- ENTRY:
- %1 = load i64, i64* bitcast (i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 4) to i64*), align 16
- %2 = load void (i64, i32)*, void (i64, i32)** bitcast (i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 19) to void (i64, i32)**), align 8
- call void %2(i64 %1, i32 %0)
- %3 = sext i32 %0 to i64
- %4 = getelementptr [5 x i8], [5 x i8]* @mono_inited, i64 0, i64 %3
- store i8 1, i8* %4, align 1
- ret void
- }
- ; Function Attrs: noinline
- define hidden monocc void @init_method_gshared_mrgctx(i32, i64) #1 {
- ENTRY:
- %2 = load i64, i64* bitcast (i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 4) to i64*), align 16
- %3 = load void (i64, i32, i64)*, void (i64, i32, i64)** bitcast (i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 21) to void (i64, i32, i64)**), align 8
- call void %3(i64 %2, i32 %0, i64 %1)
- %4 = sext i32 %0 to i64
- %5 = getelementptr [5 x i8], [5 x i8]* @mono_inited, i64 0, i64 %4
- store i8 1, i8* %5, align 1
- ret void
- }
- ; Function Attrs: noinline
- define hidden monocc void @init_method_gshared_this(i32, i64*) #1 {
- ENTRY:
- %2 = load i64, i64* bitcast (i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 4) to i64*), align 16
- %3 = load void (i64, i32, i64*)*, void (i64, i32, i64*)** bitcast (i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 20) to void (i64, i32, i64*)**), align 16
- call void %3(i64 %2, i32 %0, i64* %1)
- %4 = sext i32 %0 to i64
- %5 = getelementptr [5 x i8], [5 x i8]* @mono_inited, i64 0, i64 %4
- store i8 1, i8* %5, align 1
- ret void
- }
- ; Function Attrs: noinline
- define hidden monocc void @init_method_gshared_vtable(i32, i64) #1 {
- ENTRY:
- %2 = load i64, i64* bitcast (i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 4) to i64*), align 16
- %3 = load void (i64, i32, i64)*, void (i64, i32, i64)** bitcast (i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 22) to void (i64, i32, i64)**), align 16
- call void %3(i64 %2, i32 %0, i64 %1)
- %4 = sext i32 %0 to i64
- %5 = getelementptr [5 x i8], [5 x i8]* @mono_inited, i64 0, i64 %4
- store i8 1, i8* %5, align 1
- ret void
- }
- declare i32 @__gxx_personality_v0(...) #2
- ; Function Attrs: noinline uwtable
- define hidden monocc void @NoThrowInline_MainClass_ThrowIfNull_string(i64* readnone %arg_s) #3 {
- BB0:
- %GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 7), align 8, !invariant.load !15
- %0 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7, align 4
- %1 = icmp eq i64 %0, 0
- br i1 %1, label %BB2, label %POLL_BB3, !prof !16
- POLL_BB3: ; preds = %BB0
- call void @p_1_plt__jit_icall_mono_threads_state_poll_llvm()
- br label %BB2
- BB2: ; preds = %POLL_BB3, %BB0
- %2 = icmp eq i64* %arg_s, null
- br i1 %2, label %BB5, label %BB1
- BB5: ; preds = %BB2
- notail call monocc void @NoThrowInline_MainClass_ThrowArgumentNullException()
- unreachable
- BB1: ; preds = %BB2
- ret void
- }
- declare hidden void @p_1_plt__jit_icall_mono_threads_state_poll_llvm() local_unnamed_addr #2
- ; Function Attrs: noinline noreturn uwtable
- define hidden monocc void @NoThrowInline_MainClass_ThrowArgumentNullException() #4 {
- BB0:
- %GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 7), align 8, !invariant.load !15
- %0 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7, align 4
- %1 = icmp eq i64 %0, 0
- br i1 %1, label %BB2, label %POLL_BB3, !prof !16
- POLL_BB3: ; preds = %BB0
- call void @p_1_plt__jit_icall_mono_threads_state_poll_llvm()
- br label %BB2
- BB2: ; preds = %POLL_BB3, %BB0
- %2 = notail call i64* @p_3_plt__jit_icall_mono_create_corlib_exception_0_llvm(i64 33554605)
- call void @p_4_plt__jit_icall_mono_arch_throw_exception_llvm(i64* %2)
- unreachable
- }
- declare hidden i64* @p_3_plt__jit_icall_mono_create_corlib_exception_0_llvm(i64) local_unnamed_addr #2
- declare hidden void @p_4_plt__jit_icall_mono_arch_throw_exception_llvm(i64*) local_unnamed_addr #2
- ; Function Attrs: noinline uwtable
- define hidden monocc i32 @NoThrowInline_MainClass_Bench_string_string_string_string(i64* %arg_a, i64* %arg_b, i64* %arg_c, i64* %arg_d) #3 {
- BB0:
- %GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 7), align 8, !invariant.load !15
- %0 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7, align 4
- %1 = icmp eq i64 %0, 0
- br i1 %1, label %BB2, label %POLL_BB3, !prof !16
- POLL_BB3: ; preds = %BB0
- call void @p_1_plt__jit_icall_mono_threads_state_poll_llvm()
- br label %BB2
- BB2: ; preds = %POLL_BB3, %BB0
- notail call monocc void @NoThrowInline_MainClass_ThrowIfNull_string(i64* %arg_a)
- notail call monocc void @NoThrowInline_MainClass_ThrowIfNull_string(i64* %arg_b)
- notail call monocc void @NoThrowInline_MainClass_ThrowIfNull_string(i64* %arg_c)
- notail call monocc void @NoThrowInline_MainClass_ThrowIfNull_string(i64* %arg_d)
- %2 = getelementptr i64, i64* %arg_a, i64 2
- %3 = bitcast i64* %2 to i32*
- %t50 = load volatile i32, i32* %3, align 4
- %4 = getelementptr i64, i64* %arg_b, i64 2
- %5 = bitcast i64* %4 to i32*
- %t52 = load volatile i32, i32* %5, align 4
- %t53 = add i32 %t52, %t50
- %6 = getelementptr i64, i64* %arg_c, i64 2
- %7 = bitcast i64* %6 to i32*
- %t55 = load volatile i32, i32* %7, align 4
- %t56 = add i32 %t53, %t55
- %8 = getelementptr i64, i64* %arg_d, i64 2
- %9 = bitcast i64* %8 to i32*
- %t58 = load volatile i32, i32* %9, align 4
- %t61 = add i32 %t56, %t58
- ret i32 %t61
- }
- ; Function Attrs: noinline uwtable
- define hidden monocc void @NoThrowInline_MainClass_TestMethod(i64* nocapture readnone %this) #3 {
- BB0:
- %is_inited = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @mono_inited, i64 0, i64 3), align 1
- %0 = icmp eq i8 %is_inited, 0
- br i1 %0, label %NOTINITED_BB5, label %INITED_BB2, !prof !17
- INITED_BB2: ; preds = %NOTINITED_BB5, %BB0
- %GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 7), align 8, !invariant.load !15
- %1 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7, align 4
- %2 = icmp eq i64 %1, 0
- br i1 %2, label %BB2, label %POLL_BB3, !prof !16
- POLL_BB3: ; preds = %INITED_BB2
- call void @p_1_plt__jit_icall_mono_threads_state_poll_llvm()
- br label %BB2
- BB2: ; preds = %POLL_BB3, %INITED_BB2
- %LDSTR_29 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 29), align 8, !invariant.load !15
- %LDSTR_30 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 30), align 16, !invariant.load !15
- %LDSTR_31 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 31), align 8, !invariant.load !15
- %LDSTR_32 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 32), align 16, !invariant.load !15
- %3 = notail call monocc i32 @NoThrowInline_MainClass_Bench_string_string_string_string(i64* %LDSTR_29, i64* %LDSTR_30, i64* %LDSTR_31, i64* %LDSTR_32)
- ret void
- NOTINITED_BB5: ; preds = %BB0
- call monocc void @init_method(i32 3)
- br label %INITED_BB2
- }
- ; Function Attrs: noinline uwtable
- define hidden monocc void @NoThrowInline_MainClass_Main_string__(i64* %arg_args) #3 {
- BB0:
- %is_inited = load i8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @mono_inited, i64 0, i64 4), align 1
- %0 = icmp eq i8 %is_inited, 0
- br i1 %0, label %NOTINITED_BB10, label %INITED_BB2, !prof !17
- INITED_BB2: ; preds = %NOTINITED_BB10, %BB0
- %GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 7), align 8, !invariant.load !15
- %1 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7, align 4
- %2 = icmp eq i64 %1, 0
- br i1 %2, label %BB2, label %POLL_BB3, !prof !16
- POLL_BB3: ; preds = %INITED_BB2
- call void @p_1_plt__jit_icall_mono_threads_state_poll_llvm()
- br label %BB2
- BB2: ; preds = %POLL_BB3, %INITED_BB2
- %VTABLE_331 = load i64, i64* bitcast (i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 33) to i64*), align 8, !invariant.load !15
- %3 = notail call monocc i64* @p_7_plt_wrapper_alloc_object_AllocSmall_intptr_intptr_llvm(i64 %VTABLE_331, i64 16)
- %4 = getelementptr i64, i64* %arg_args, i64 3
- %5 = bitcast i64* %4 to i32*
- %t29 = load volatile i32, i32* %5, align 4
- %6 = icmp eq i32 %t29, 0
- br i1 %6, label %BB4.thread, label %BB5
- BB4.thread: ; preds = %BB2
- %LDSTR_343 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 34), align 16, !invariant.load !15
- notail call monocc void @p_8_plt_System_Console_WriteLine_string_llvm(i64* %LDSTR_343)
- br label %BB7.lr.ph
- BB4: ; preds = %BB5
- %7 = getelementptr i64, i64* %arg_args, i64 4
- %8 = bitcast i64* %7 to i64**
- %t532 = load i64*, i64** %8, align 8
- %9 = notail call monocc i32 @p_11_plt_System_Convert_ToInt32_string_llvm(i64* %t532)
- %LDSTR_34 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 34), align 16, !invariant.load !15
- notail call monocc void @p_8_plt_System_Console_WriteLine_string_llvm(i64* %LDSTR_34)
- %10 = icmp sgt i32 %9, 0
- br i1 %10, label %BB7.lr.ph, label %BB8
- BB7.lr.ph: ; preds = %BB4.thread, %BB4
- %11 = phi i32 [ 700000, %BB4.thread ], [ %9, %BB4 ]
- br label %BB7
- BB5: ; preds = %BB2
- %t74 = load volatile i32, i32* %5, align 4
- %12 = icmp eq i32 %t74, 0
- br i1 %12, label %EX_BB7, label %BB4
- BB7: ; preds = %BB7.lr.ph, %CONT_BB6
- %13 = phi i32 [ 0, %BB7.lr.ph ], [ %t72, %CONT_BB6 ]
- %14 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7, align 4
- %15 = icmp eq i64 %14, 0
- br i1 %15, label %CONT_BB6, label %POLL_BB5, !prof !16
- BB8: ; preds = %CONT_BB6, %BB4
- %LDSTR_35 = load i64*, i64** getelementptr inbounds ([36 x i64*], [36 x i64*]* @mono_aot_NoThrowInline_llvm_got, i64 0, i64 35), align 8, !invariant.load !15
- notail call monocc void @p_8_plt_System_Console_WriteLine_string_llvm(i64* %LDSTR_35)
- ret void
- POLL_BB5: ; preds = %BB7
- call void @p_1_plt__jit_icall_mono_threads_state_poll_llvm()
- br label %CONT_BB6
- CONT_BB6: ; preds = %POLL_BB5, %BB7
- notail call monocc void @NoThrowInline_MainClass_TestMethod(i64* undef)
- %t72 = add nuw nsw i32 %13, 1
- %16 = icmp slt i32 %t72, %11
- br i1 %16, label %BB7, label %BB8
- EX_BB7: ; preds = %BB5
- call void @p_10_plt__jit_icall_llvm_throw_corlib_exception_abs_trampoline_llvm(i32 254)
- unreachable
- NOTINITED_BB10: ; preds = %BB0
- call monocc void @init_method(i32 4)
- br label %INITED_BB2
- }
- declare hidden i64* @p_7_plt_wrapper_alloc_object_AllocSmall_intptr_intptr_llvm(i64, i64) local_unnamed_addr #2
- declare hidden void @p_8_plt_System_Console_WriteLine_string_llvm(i64*) local_unnamed_addr #2
- declare hidden void @p_10_plt__jit_icall_llvm_throw_corlib_exception_abs_trampoline_llvm(i32) local_unnamed_addr #2
- declare hidden i32 @p_11_plt_System_Convert_ToInt32_string_llvm(i64*) local_unnamed_addr #2
- ; Function Attrs: noinline norecurse nounwind readnone uwtable
- define hidden monocc void @NoThrowInline_MainClass__ctor(i64* nocapture %this) #5 {
- BB0:
- ret void
- }
- ; Function Attrs: norecurse nounwind readnone
- define internal void @llvm_code_end() #0 {
- ENTRY:
- ret void
- }
- ; Function Attrs: norecurse nounwind readnone
- define hidden i8* @mono_aot_NoThrowInline_get_method(i32) #0 {
- ENTRY:
- switch i32 %0, label %FAIL [
- i32 -1, label %BB_CODE_START
- i32 -2, label %BB_CODE_END
- i32 0, label %BB_0
- i32 1, label %BB_1
- i32 2, label %BB_2
- i32 3, label %BB_3
- i32 4, label %BB_4
- i32 5, label %BB_5
- i32 6, label %BB_6
- i32 7, label %BB_7
- i32 8, label %BB_8
- i32 9, label %BB_9
- i32 10, label %BB_10
- ]
- BB_CODE_START: ; preds = %FAIL, %BB_10, %BB_9, %BB_8, %BB_7, %BB_6, %BB_5, %BB_4, %BB_3, %BB_2, %BB_1, %BB_0, %BB_CODE_END, %ENTRY
- %merge = phi i8* [ bitcast (void ()* @llvm_code_start to i8*), %ENTRY ], [ bitcast (void ()* @llvm_code_end to i8*), %BB_CODE_END ], [ bitcast (void (i64*)* @NoThrowInline_MainClass_ThrowIfNull_string to i8*), %BB_0 ], [ bitcast (void ()* @NoThrowInline_MainClass_ThrowArgumentNullException to i8*), %BB_1 ], [ bitcast (i32 (i64*, i64*, i64*, i64*)* @NoThrowInline_MainClass_Bench_string_string_string_string to i8*), %BB_2 ], [ bitcast (void (i64*)* @NoThrowInline_MainClass_TestMethod to i8*), %BB_3 ], [ bitcast (void (i64*)* @NoThrowInline_MainClass_Main_string__ to i8*), %BB_4 ], [ bitcast (void (i64*)* @NoThrowInline_MainClass__ctor to i8*), %BB_5 ], [ null, %BB_6 ], [ bitcast (void (i32)* @init_method to i8*), %BB_7 ], [ bitcast (void (i32, i64)* @init_method_gshared_mrgctx to i8*), %BB_8 ], [ bitcast (void (i32, i64*)* @init_method_gshared_this to i8*), %BB_9 ], [ bitcast (void (i32, i64)* @init_method_gshared_vtable to i8*), %BB_10 ], [ null, %FAIL ]
- ret i8* %merge
- BB_CODE_END: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_0: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_1: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_2: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_3: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_4: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_5: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_6: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_7: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_8: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_9: ; preds = %ENTRY
- br label %BB_CODE_START
- BB_10: ; preds = %ENTRY
- br label %BB_CODE_START
- FAIL: ; preds = %ENTRY
- br label %BB_CODE_START
- }
- attributes #0 = { norecurse nounwind readnone "disable-tail-calls"="true" }
- attributes #1 = { noinline "disable-tail-calls"="true" }
- attributes #2 = { "disable-tail-calls"="true" }
- attributes #3 = { noinline uwtable "disable-tail-calls"="true" }
- attributes #4 = { noinline noreturn uwtable "disable-tail-calls"="true" }
- attributes #5 = { noinline norecurse nounwind readnone uwtable "disable-tail-calls"="true" }
- !llvm.dbg.cu = !{!0}
- !mono.function_indexes = !{!3, !4, !5, !6, !7, !8, !9, !10, !11, !12}
- !llvm.module.flags = !{!13, !14}
- !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "Mono AOT Compiler 6.1.0 (init_transition/3bfe06efcae Thu Mar 14 12:28:07 EDT 2019) (LLVM)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
- !1 = !DIFile(filename: "NoThrowInline.exe", directory: ".")
- !2 = !{}
- !3 = !{!"NoThrowInline_MainClass_ThrowIfNull_string", i32 0}
- !4 = !{!"NoThrowInline_MainClass_ThrowArgumentNullException", i32 1}
- !5 = !{!"NoThrowInline_MainClass_Bench_string_string_string_string", i32 2}
- !6 = !{!"NoThrowInline_MainClass_TestMethod", i32 3}
- !7 = !{!"NoThrowInline_MainClass_Main_string__", i32 4}
- !8 = !{!"NoThrowInline_MainClass__ctor", i32 5}
- !9 = !{!"init_method", i32 7}
- !10 = !{!"init_method_gshared_mrgctx", i32 8}
- !11 = !{!"init_method_gshared_this", i32 9}
- !12 = !{!"init_method_gshared_vtable", i32 10}
- !13 = !{i32 2, !"Dwarf Version", i32 2}
- !14 = !{i32 2, !"Debug Info Version", i64 3}
- !15 = !{!"<index>"}
- !16 = !{!"branch_weights", i32 2000, i32 1}
- !17 = !{!"branch_weights", i32 1, i32 2000}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement