Last active
March 26, 2019 00:10
-
-
Save lambdageek/a57798e212c1306f66f53615292cd2be to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
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 = 'tup.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] } | |
%"OneThing`1<int>" = type { i8, i8, i8, i8 } | |
%System.ParamsArray = type { 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 } | |
%"OneThing`1<T1_INT>" = type { i8, i8, i8, i8 } | |
%System.Threading.CancellationToken = type { i8, i8, i8, i8, i8, i8, i8, i8 } | |
%"System.Runtime.CompilerServices.TaskAwaiter`1<TResult_INST>" = type { i8, i8, i8, i8, i8, i8, i8, i8 } | |
%"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<TResult_INST>" = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 } | |
%"Mono.ValueTuple`1<int>" = type { i8, i8, i8, i8 } | |
%"Mono.ValueTuple`1<object>" = type { i8, i8, i8, i8, i8, i8, i8, i8 } | |
%"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1/ConfiguredTaskAwaiter<TResult_INST>" = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 } | |
%"Mono.ValueTuple`1<Mono.ValueTuple`2<object, byte>>" = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 } | |
@_ZTIPi = external constant i8* | |
@method_info_offsets = internal constant [268 x i8] c"\BF\00\00\00\0A\00\00\00\14\00\00\00\02\00\00\00\00\00\0E\00\18\00\22\00-\008\00C\00N\00Y\00d\00o\00z\00\85\00\90\00\9B\00\A6\00\B1\00\BC\00\C7\00\D2\00\01\07\07\FF\FF\FF\FF\F1\10\03\03\04\04\04&\06\06\04\04\06\06\03\03\0A`\09\09\0B\08\06\03\08\08\0D\80\AF\04\05\05\04\05\04\0B\05\05\80\E3\05\04\0B\05\08\04\04\04\04\81\1C\03\03\03\03\0A\09\09\06\0A\81]\09\06\22\07\06\04@\05\04\82&\07\0B\0A\0A\07..\0B\0A\82\CE\0700\0F\0F\0F\0F\0F\0F\83\9E\0F\0F\0F\0F\01\01\01\01\0A\83\E9\01\01\01\01\01\01\01\01\01\83\F3\01\01\01\01\01\01\01\01\01\83\FD\01\01\01\01\01\01\01\01\03\84\09\07\01\01\01\01\01\01\01\06\84\1E\01\01\01\01\01\01\01\01\01\84(\01\01\01\01\01\01\01\01\01\842\01\01\01\01\01\01\01\01\01\84<\0D\0F\0F\0F\0F\0F\0F\0F\01\84\B4\01\01\01\01\01\01\01\03\01\84\C0", align 8 | |
@extra_method_table = internal constant [4984 x i8] c"o\01\00\00\13\05\00\00\06\00\00\00v\01\00\00\D3\07\00\006\00\00\00\00\00\00\00\C9\05\00\00\13\00\00\00\00\00\00\00\D7\05\00\00\14\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\00K\05\00\00\0A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9B\07\00\002\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\C3\0E\00\00\9B\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\F8\0E\00\00\9F\00\00\00\00\00\00\00-\0D\00\00\85\00\00\00\00\00\00\00\7F\07\00\000\00\00\00\87\01\00\00G\06\00\00\1C\00\00\00\00\00\00\00=\05\00\00\09\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\9D\0E\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00m\08\00\00A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AB\0A\00\00c\00\00\00\81\01\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\00\00\00\00\00\00\00\00g\05\00\00\0C\00\00\00\99\01\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\00\00\00\00\00\00\00\00\22\10\00\00\AB\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\D6\0D\00\00\8D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00R\0E\00\00\94\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^\0E\00\00\95\00\00\00\00\00\00\00\CA\0B\00\00t\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/\05\00\00\08\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\F8\09\00\00Y\00\00\00\97\01\00\00\B8\0F\00\00\A8\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\22\11\00\00\B9\00\00\00\00\00\00\00_\08\00\00@\00\00\00\96\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\0E\00\00\90\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\C5\06\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\00\00\00\F7\0B\00\00v\00\00\00\00\00\00\00\F6\0D\00\00\8F\00\00\00\00\00\00\00\BC\11\00\00\BE\00\00\00\00\00\00\00\EE\0E\00\00\9E\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\8D\06\00\00!\00\00\00p\01\00\00\7F\06\00\00 \00\00\00y\01\00\00i\0B\00\00o\00\00\00\00\00\00\00\8D\07\00\001\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\009\07\00\00+\00\00\00\00\00\00\00\92\0E\00\00\98\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\00\19\08\00\00;\00\00\00\9B\01\00\00\AD\05\00\00\11\00\00\00t\01\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?\09\00\00P\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\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\83\05\00\00\0E\00\00\00\8D\01\00\00\84\0C\00\00\7F\00\00\00\89\01\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\A9\07\00\003\00\00\00~\01\00\00\BB\05\00\00\12\00\00\00\00\00\00\00\E1\0B\00\00u\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\B5\0A\00\00d\00\00\00\00\00\00\00\9B\06\00\00\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0B\11\00\00\B7\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\D4\0E\00\00\9C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00_\11\00\00\BB\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\AC\0F\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\004\0F\00\00\A1\00\00\00\00\00\00\00\05\05\00\00\05\00\00\00x\01\00\00&\0A\00\00[\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B3\08\00\00F\00\00\00\00\00\00\00\F7\04\00\00\04\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\9D\0A\00\00b\00\00\00\93\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\07\00\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00|\0E\00\00\97\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\0B\08\00\00:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00k\0D\00\00\89\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B4\0B\00\00s\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\00\00\00\00\00\00\00\00\00\00\00\00\00\0B\07\00\00*\00\00\00\8F\01\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\00J\0B\00\00m\00\00\00\00\00\00\00M\09\00\00Q\00\00\00{\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\EF\07\00\008\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CA\0F\00\00\A9\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\E1\06\00\00'\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D3\06\00\00&\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00x\0A\00\00a\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\00Y\05\00\00\0B\00\00\00o\01\00\00`\0A\00\00^\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+\06\00\00\1A\00\00\00q\01\00\00\B7\07\00\004\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\15\09\00\00M\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\C7\09\00\00W\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\00U\06\00\00\1D\00\00\00\92\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22\0B\00\00k\00\00\00\00\00\00\00\CF\08\00\00H\00\00\00\00\00\00\00\E5\05\00\00\15\00\00\00r\01\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\07\00\009\00\00\00\85\01\00\00\B4\0E\00\00\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\06\00\00\17\00\00\00\00\00\00\00\EB\08\00\00J\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\16\11\00\00\B8\00\00\00\00\00\00\00V\0A\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\00c\06\00\00\1E\00\00\00\00\00\00\00\0F\06\00\00\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\06\00\00)\00\00\00\8A\01\00\00\9F\05\00\00\10\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\A0\0B\00\00r\00\00\00\94\01\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\00J\0C\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\00S\0D\00\00\87\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\A0\10\00\00\B0\00\00\00\00\00\00\00?\0A\00\00\5C\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\C3\10\00\00\B2\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\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#\09\00\00N\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\07\00\007\00\00\00\8E\01\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\91\05\00\00\0F\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\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\00p\0A\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\0F\0A\00\00Z\00\00\00\98\01\00\00\EF\06\00\00(\00\00\00\00\00\00\00\01\11\00\00\B6\00\00\00\00\00\00\00v\0C\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\00\00\00h\0A\00\00_\00\00\00\00\00\00\00o\11\00\00\BC\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&\0F\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A9\06\00\00#\00\00\00\00\00\00\00\F5\10\00\00\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00u\05\00\00\0D\00\00\00w\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\09\00\00V\00\00\00\00\00\00\00{\08\00\00B\00\00\00\00\00\00\00q\06\00\00\1F\00\00\00s\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\0A\00\00e\00\00\00\00\00\00\00\22\0D\00\00\84\00\00\00\00\00\00\00\1D\06\00\00\19\00\00\00|\01\00\00!\05\00\00\07\00\00\00\00\00\00\00\93\0B\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E9\0D\00\00\8E\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\008\0B\00\00l\00\00\00\8B\01\00\001\09\00\00O\00\00\00\95\01\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\F9\08\00\00K\00\00\00z\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\F3\05\00\00\16\00\00\00u\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\89\08\00\00C\00\00\00\00\00\00\00R\0F\00\00\A3\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[\0C\00\00|\00\00\00\88\01\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\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\80\0B\00\00p\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\FD\0A\00\00i\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\00C\0F\00\00\A2\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\E0\0A\00\00g\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]\0B\00\00n\00\00\00\8C\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8D\09\00\00T\00\00\00\00\00\00\00c\07\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\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\18\0C\00\00x\00\00\00\82\01\00\00Q\08\00\00?\00\00\00}\01\00\00U\07\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\9D\0F\00\00\A6\00\00\00\00\00\00\00s\09\00\00S\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\009\06\00\00\1B\00\00\00\00\00\00\00\B7\06\00\00$\00\00\00\00\00\00\00G\07\00\00,\00\00\00\9A\01\00\00q\07\00\00/\00\00\00\00\00\00\00'\08\00\00<\00\00\00\7F\01\00\005\08\00\00=\00\00\00\00\00\00\00C\08\00\00>\00\00\00\00\00\00\00\97\08\00\00D\00\00\00\00\00\00\00\A5\08\00\00E\00\00\00\00\00\00\00\C1\08\00\00G\00\00\00\00\00\00\00\DD\08\00\00I\00\00\00\00\00\00\00\07\09\00\00L\00\00\00\80\01\00\00[\09\00\00R\00\00\00\00\00\00\00\A3\09\00\00U\00\00\00\00\00\00\00\DE\09\00\00X\00\00\00\00\00\00\00\D6\0A\00\00f\00\00\00\00\00\00\00\EC\0A\00\00h\00\00\00\90\01\00\00\17\0B\00\00j\00\00\00\9C\01\00\00\0E\0C\00\00w\00\00\00\83\01\00\00)\0C\00\00y\00\00\00\9D\01\00\00:\0C\00\00z\00\00\00\84\01\00\00l\0C\00\00}\00\00\00\86\01\00\00\B5\0C\00\00\80\00\00\00\00\00\00\00\C5\0C\00\00\81\00\00\00\91\01\00\00\F5\0C\00\00\82\00\00\00\00\00\00\00\11\0D\00\00\83\00\00\00\00\00\00\00A\0D\00\00\86\00\00\00\00\00\00\00_\0D\00\00\88\00\00\00\00\00\00\00\9F\0D\00\00\8A\00\00\00\00\00\00\00\AD\0D\00\00\8B\00\00\00\00\00\00\00\C1\0D\00\00\8C\00\00\00\00\00\00\00\18\0E\00\00\91\00\00\00\00\00\00\00-\0E\00\00\92\00\00\00\00\00\00\00A\0E\00\00\93\00\00\00\00\00\00\00r\0E\00\00\96\00\00\00\00\00\00\00\DF\0E\00\00\9D\00\00\00\00\00\00\00\80\0F\00\00\A4\00\00\00\9E\01\00\00\8E\0F\00\00\A5\00\00\00\00\00\00\00\0C\10\00\00\AA\00\00\00\00\00\00\00;\10\00\00\AC\00\00\00\00\00\00\00U\10\00\00\AD\00\00\00\00\00\00\00l\10\00\00\AE\00\00\00\00\00\00\00\85\10\00\00\AF\00\00\00\00\00\00\00\B9\10\00\00\B1\00\00\00\00\00\00\00\D8\10\00\00\B3\00\00\00\00\00\00\00\EA\10\00\00\B4\00\00\00\00\00\00\00.\11\00\00\BA\00\00\00\00\00\00\00{\11\00\00\BD\00\00\00\00\00\00\00", align 8 | |
@extra_method_info_offsets = internal constant [1500 x i8] c"\BB\00\00\00\04\00\00\00\F7\04\00\00\05\00\00\00\05\05\00\00\06\00\00\00\13\05\00\00\07\00\00\00!\05\00\00\08\00\00\00/\05\00\00\09\00\00\00=\05\00\00\0A\00\00\00K\05\00\00\0B\00\00\00Y\05\00\00\0C\00\00\00g\05\00\00\0D\00\00\00u\05\00\00\0E\00\00\00\83\05\00\00\0F\00\00\00\91\05\00\00\10\00\00\00\9F\05\00\00\11\00\00\00\AD\05\00\00\12\00\00\00\BB\05\00\00\13\00\00\00\C9\05\00\00\14\00\00\00\D7\05\00\00\15\00\00\00\E5\05\00\00\16\00\00\00\F3\05\00\00\17\00\00\00\01\06\00\00\18\00\00\00\0F\06\00\00\19\00\00\00\1D\06\00\00\1A\00\00\00+\06\00\00\1B\00\00\009\06\00\00\1C\00\00\00G\06\00\00\1D\00\00\00U\06\00\00\1E\00\00\00c\06\00\00\1F\00\00\00q\06\00\00 \00\00\00\7F\06\00\00!\00\00\00\8D\06\00\00\22\00\00\00\9B\06\00\00#\00\00\00\A9\06\00\00$\00\00\00\B7\06\00\00%\00\00\00\C5\06\00\00&\00\00\00\D3\06\00\00'\00\00\00\E1\06\00\00(\00\00\00\EF\06\00\00)\00\00\00\FD\06\00\00*\00\00\00\0B\07\00\00+\00\00\009\07\00\00,\00\00\00G\07\00\00-\00\00\00U\07\00\00.\00\00\00c\07\00\00/\00\00\00q\07\00\000\00\00\00\7F\07\00\001\00\00\00\8D\07\00\002\00\00\00\9B\07\00\003\00\00\00\A9\07\00\004\00\00\00\B7\07\00\005\00\00\00\C5\07\00\006\00\00\00\D3\07\00\007\00\00\00\E1\07\00\008\00\00\00\EF\07\00\009\00\00\00\FD\07\00\00:\00\00\00\0B\08\00\00;\00\00\00\19\08\00\00<\00\00\00'\08\00\00=\00\00\005\08\00\00>\00\00\00C\08\00\00?\00\00\00Q\08\00\00@\00\00\00_\08\00\00A\00\00\00m\08\00\00B\00\00\00{\08\00\00C\00\00\00\89\08\00\00D\00\00\00\97\08\00\00E\00\00\00\A5\08\00\00F\00\00\00\B3\08\00\00G\00\00\00\C1\08\00\00H\00\00\00\CF\08\00\00I\00\00\00\DD\08\00\00J\00\00\00\EB\08\00\00K\00\00\00\F9\08\00\00L\00\00\00\07\09\00\00M\00\00\00\15\09\00\00N\00\00\00#\09\00\00O\00\00\001\09\00\00P\00\00\00?\09\00\00Q\00\00\00M\09\00\00R\00\00\00[\09\00\00S\00\00\00s\09\00\00T\00\00\00\8D\09\00\00U\00\00\00\A3\09\00\00V\00\00\00\B7\09\00\00W\00\00\00\C7\09\00\00X\00\00\00\DE\09\00\00Y\00\00\00\F8\09\00\00Z\00\00\00\0F\0A\00\00[\00\00\00&\0A\00\00\5C\00\00\00?\0A\00\00]\00\00\00V\0A\00\00^\00\00\00`\0A\00\00_\00\00\00h\0A\00\00`\00\00\00p\0A\00\00a\00\00\00x\0A\00\00b\00\00\00\9D\0A\00\00c\00\00\00\AB\0A\00\00d\00\00\00\B5\0A\00\00e\00\00\00\C5\0A\00\00f\00\00\00\D6\0A\00\00g\00\00\00\E0\0A\00\00h\00\00\00\EC\0A\00\00i\00\00\00\FD\0A\00\00j\00\00\00\17\0B\00\00k\00\00\00\22\0B\00\00l\00\00\008\0B\00\00m\00\00\00J\0B\00\00n\00\00\00]\0B\00\00o\00\00\00i\0B\00\00p\00\00\00\80\0B\00\00q\00\00\00\93\0B\00\00r\00\00\00\A0\0B\00\00s\00\00\00\B4\0B\00\00t\00\00\00\CA\0B\00\00u\00\00\00\E1\0B\00\00v\00\00\00\F7\0B\00\00w\00\00\00\0E\0C\00\00x\00\00\00\18\0C\00\00y\00\00\00)\0C\00\00z\00\00\00:\0C\00\00{\00\00\00J\0C\00\00|\00\00\00[\0C\00\00}\00\00\00l\0C\00\00~\00\00\00v\0C\00\00\7F\00\00\00\84\0C\00\00\80\00\00\00\B5\0C\00\00\81\00\00\00\C5\0C\00\00\82\00\00\00\F5\0C\00\00\83\00\00\00\11\0D\00\00\84\00\00\00\22\0D\00\00\85\00\00\00-\0D\00\00\86\00\00\00A\0D\00\00\87\00\00\00S\0D\00\00\88\00\00\00_\0D\00\00\89\00\00\00k\0D\00\00\8A\00\00\00\9F\0D\00\00\8B\00\00\00\AD\0D\00\00\8C\00\00\00\C1\0D\00\00\8D\00\00\00\D6\0D\00\00\8E\00\00\00\E9\0D\00\00\8F\00\00\00\F6\0D\00\00\90\00\00\00\03\0E\00\00\91\00\00\00\18\0E\00\00\92\00\00\00-\0E\00\00\93\00\00\00A\0E\00\00\94\00\00\00R\0E\00\00\95\00\00\00^\0E\00\00\96\00\00\00r\0E\00\00\97\00\00\00|\0E\00\00\98\00\00\00\92\0E\00\00\99\00\00\00\9D\0E\00\00\9A\00\00\00\B4\0E\00\00\9B\00\00\00\C3\0E\00\00\9C\00\00\00\D4\0E\00\00\9D\00\00\00\DF\0E\00\00\9E\00\00\00\EE\0E\00\00\9F\00\00\00\F8\0E\00\00\A0\00\00\00&\0F\00\00\A1\00\00\004\0F\00\00\A2\00\00\00C\0F\00\00\A3\00\00\00R\0F\00\00\A4\00\00\00\80\0F\00\00\A5\00\00\00\8E\0F\00\00\A6\00\00\00\9D\0F\00\00\A7\00\00\00\AC\0F\00\00\A8\00\00\00\B8\0F\00\00\A9\00\00\00\CA\0F\00\00\AA\00\00\00\0C\10\00\00\AB\00\00\00\22\10\00\00\AC\00\00\00;\10\00\00\AD\00\00\00U\10\00\00\AE\00\00\00l\10\00\00\AF\00\00\00\85\10\00\00\B0\00\00\00\A0\10\00\00\B1\00\00\00\B9\10\00\00\B2\00\00\00\C3\10\00\00\B3\00\00\00\D8\10\00\00\B4\00\00\00\EA\10\00\00\B5\00\00\00\F5\10\00\00\B6\00\00\00\01\11\00\00\B7\00\00\00\0B\11\00\00\B8\00\00\00\16\11\00\00\B9\00\00\00\22\11\00\00\BA\00\00\00.\11\00\00\BB\00\00\00_\11\00\00\BC\00\00\00o\11\00\00\BD\00\00\00{\11\00\00\BE\00\00\00\BC\11\00\00", align 8 | |
@class_name_table = internal constant [50 x i8] c"\0B\00\01\00\00\00\00\00\00\00\00\00\00\00\02\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\03\00\00\00", align 8 | |
@got_info_offsets = internal constant [16 x i8] c"\00\00\00\00\0A\00\00\00\00\00\00\00\04\00\00\00", align 8 | |
@llvm_got_info_offsets = internal constant [281 x i8] c"\CA\00\00\00\0A\00\00\00\15\00\00\00\02\00\00\00\00\00\0B\00\16\00!\00,\007\00B\00M\00X\00c\00n\00y\00\84\00\8F\00\9A\00\A5\00\B0\00\BB\00\C6\00\D1\00\DC\00\91\CA\02\01\01\01\01\01\01\01\1B\92\06%''(#\1A!\1D\19\93M\0C\0C(\03\0B\03\04\08\03\93\B0\03\03\03\13\02\06\13\03\08\93\F5!\1C\03\08\06\06\06\06\03\94[\06\03\03\03\13\13\03\03\03\94\A7\08\19\08\15\0E\08\1B\08\15\956\13\09\08\13\03\13\04\06\1A\95\BA\03\03\19\08\13\13\1D\02\1C\96h\1B\1C'\03\03\04\06\03\13\96\FF\13\08\13\08\08\13\03\13-\97\97\13\13\1E\03\03\04\13\13\03\98\11\13\08\08\13\04\13\13\03\13\98\8A\06\03\1E\13\13\03\03\09\08\98\F6\15%\08\13\13\13\13\13\13\99\AD\15%\08\13\13!\13\13\08\9Al&\0C\0C\08\08\08\08\07\07\9A\E0\08\0C\0C\0D\0D\0B\0B\0B\0B\9BQ\1F\08\19\082\08\13\07\07\9B\FC\08\0E\0E\0F\0F\0B\0B\0B\0B\9Cu\15", align 8 | |
@ex_info_offsets = internal constant [272 x i8] c"\BF\00\00\00\0A\00\00\00\14\00\00\00\02\00\00\00\00\00\10\00\1B\00&\001\00<\00G\00R\00]\00h\00s\00~\00\89\00\94\00\9F\00\AA\00\B5\00\C0\00\CB\00\D6\00\9C\9D\05\05\FF\FF\FF\E3Y\9C\AC\16\16\16\16\16\9D0\16\16\16\16\16\16\16\16\16\9E\0C\16\16\16\16\16\16\16\16\16\9E\E8\16\16\16\16\16\16\16\16\16\9F\C4\16\16\16\16\16\16\16\16\16\A0\A0\16\16\16\16\16\16\16\16\16\A1|\16\16@\16\16\16'\16\16\A2\A3\16\16\16\16\16\16\16\16\16\A3\7F\16\16\16\05\05\05\05\05\05\A3\E4\05\05\05\05\05\05\05\05\0F\A4 \05\05\05\05\05\05\05\05\05\A4R\05\05\05\05\05\05\05\05\05\A4\84\05\05\05\05\05\05\05\05\18\A4\C9\18\05\05\05\05\05\05\05\16\A5\1F\05\05\05\05\05\05\05\05\05\A5Q\05\05\05\05\05\05\05\05\05\A5\83\16\05\05\05\16\05\05\05\05\A5\D7\0F\05\05\05\05\05\05\05\05\A6\13\05\05\05\05\05\05\05\18\05\A6X", align 8 | |
@class_info_offsets = internal constant [22 x i8] c"\03\00\00\00\0A\00\00\00\01\00\00\00\02\00\00\00\00\00\A6n\07\05", align 8 | |
@image_table = internal constant [156 x i8] c"\02\00\00\00mscorlib\00C24DFF02-C633-43CC-A17B-05289D077030\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\00tup\00CE4D7F88-1127-4EC4-821D-71879C64224B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", align 8 | |
@weak_field_indexes = internal constant [4 x i8] zeroinitializer, align 8 | |
@blob = internal constant [9870 x i8] c"\00\04\05\18\17\16\15\14\04\05\1D\1C\1B\1A\19\00\04\01\1E\04\01\1F\04\02\16 \04\02\16 \04\02!\16\04\02!\16\04\04!\16#\22\04\04!\16#\22\04\02$\16\04\02$\16\04\04$\16#\22\04\04$\16#\22\04\01%\04\01%\04\08)()('!\1B&\04\08)()('$\1B&\04\07-,\16\1B+\16*\04\07210/.\16\16\04\095\164\16\16\16\163\16\04\066\16\16\16\16\16\04\04\167\16\16\04\01\16\04\06:98\16*\16\04\06=\1B<;;;\04\0B\16\16\16\16\16?@\16?>\16\04\02BA\04\02DC\04\03F\16E\04\03F\16E\04\02F\16\04\03F\16E\04\02F\16\04\09)()(JI\1BHG\04\03K\16E\04\03K\16E\04\02K\16\04\03K\16E\04\02K\16\04\09)()(JI\1BHG\04\03E\16\16\04\06\16\16NML\16\04\02O\16\04\02O\16\04\02O\16\04\02O\16\04\06\16\16\16\16QP\04\01\16\04\01\16\04\01\16\04\01\16\04\08TSR\16\16\16#\22\04\07TSR\16\16#\22\04\07TSR\16\16#\22\04\04TS#\22\04\08USR\16\16\16#\22\04\07USR\16\16#\22\04\07USR\16\16#\22\04\04US#\22\04 Vc\16b\16a`N_^\16]\16\16\16Y)\5C[ZY)\5C[Z\16Y\16VXWV\04\05fed\16\16\04\04fed\16\04\02fe\04>)\5C^\16\16[Z)()(\16)(w\16\16\16\16vput\16\1Bslr\16\16q\16\16\16%\1B_pon\16\1Bml\16k\1BSj\16\16\16\16\16\16\16i\1BhXgV\04\03xe\16\04\02xe\047\80\84b\16\16a`N_\16\16[Z)()(\16\80\83\80\82\16N\80\81\80\80e\16\16\16\16\7F\16\16p~}\16\1B|l`_\16\16k\1BSj\16\16\16{\1BzXyV\04\04\80\85\1BSG\04\08)(\80\86ed\16\16\16\04\07)(\80\86ed\16\16\04\07)(\80\86ed\16\16\04\04)(\80\86e\04\1D)()(\80\91eNNN\80\8B\80\8Ap\80\90\80\8F\16\1B\80\8El\80\8B\80\8A\80\8D\16\80\8C\80\8B\80\8A\80\89\80\88\80\87P\04\1D)()(\80\91eNNN\80\8B\80\8Ap\80\93\80\92\16\1B\80\8El\80\8B\80\8A\80\8D\16\80\8C\80\8B\80\8A\80\89\80\88\80\87P\04\08)(\80\94ed\16\16\16\04\07)(\80\94ed\16\16\04\07)(\80\94ed\16\16\04\04)(\80\94e\04\1F)()\80\9B)(\80\91eNNN\80\8B\80\8Ap\80\9A\80\99\16\1B\80\98l\80\8B\80\8A\80\97\16\80\96\80\8B\80\8A\80\88\80\95\16P\04\1F)()\80\9B)(\80\91eNNN\80\8B\80\8Ap\80\9D\80\9C\16\1B\80\98l\80\8B\80\8A\80\97\16\80\96\80\8B\80\8A\80\88\80\95\16P\04\09\80\84\80\A0\80\9F\80\9E\16l\16\16\16\04\09\80\84\80\A0\80\A2\80\A1\16l\16\16\16\04\09\80\84\80\A0\80\A4\80\A3\16l\16\16\16\04\09\80\84\80\A0\80\A6\80\A5\16l\16\16\16\04\09\80\84\80\A0\80\A8\80\A7\16l\16\16\16\04\09\80\84\80\A0\80\AA\80\A9\16l\16\16\16\04\09\80\84\80\A0\80\AC\80\AB\16l\16\16\16\04\09\80\84\80\A0\80\AE\80\AD\16l\16\16\16\04\09\80\84\80\A0\80\B0\80\AF\16l\16\16\16\04\09\80\84\80\A0\80\B2\80\B1\16l\16\16\16\04\09\80\84\80\A0\80\B4\80\B3\16l\16\16\16\00\00\00\00\05\01\82\F1\03\80\B6\1B\80\B5\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\04\01\16\00\04\03\16\80\B8\80\B7\00\00\00\00\00\00\00\04\04\16%#\22\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\04\09)()(J\80\BA\1B\80\B9G\04\09\80\84\80\A0\80\BC\80\BB\16l\16\16\16\04\09\80\84\80\A0\80\BE\80\BD\16l\16\16\16\04\09\80\84\80\A0\80\C0\80\BF\16l\16\16\16\04\09\80\84\80\A0\80\C2\80\C1\16l\16\16\16\04\09\80\84\80\A0\80\C4\80\C3\16l\16\16\16\04\09\80\84\80\A0\80\C6\80\C5\16l\16\16\16\04\09\80\84\80\A0\80\C8\80\C7\16l\16\16\16\00\00\00\00\00\00\00\00\00\04\01\16\00\00\04\05\16\80\C9\16#\22\05\00\13\00\01\00\02\02\01\05\01\08\07\84\C8\05\00\13\00\01\00\01\82\D9\05\01\15\02\02\01\01\07\84\D1\07\84\D7\01\07\84\E0\04\01\82\D9\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\08\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\09\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\0A\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\0B\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\0C\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\0D\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\0E\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\0F\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\10\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\11\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\12\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\13\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\14\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\15\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\16\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\17\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\18\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\19\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\1A\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\1B\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\1C\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\1D\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\1E\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\1F\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0 \01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0!\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0\22\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0#\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0$\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0%\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0&\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0'\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0(\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0)\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0*\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0+\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0,\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0-\01\84\ED\FF\FD\00\00\00\07\84\F1\00\A0.\01\84\ED\05\00\13\00\01\00\01\82\DD\05\01\15\02\02\01\01\07\84\D1\07\87\19\01\07\87\22\04\01\82\DD\87/\FF\FD\00\00\00\07\873\00\A0G\01\87/\FF\FD\00\00\00\07\873\00\A0H\01\87/\FF\FD\00\00\00\07\873\00\A0I\01\87/\FF\FD\00\00\00\07\873\00\A0J\01\87/\FF\FD\00\00\00\07\873\00\A0K\01\87/\FF\FD\00\00\00\07\873\00\A0L\01\87/\FF\FD\00\00\00\07\873\00\A0M\01\87/\FF\FD\00\00\00\07\873\00\A0N\01\87/\FF\FD\00\00\00\07\873\00\A0O\01\87/\FF\FD\00\00\00\07\873\00\A0P\01\87/\FF\FD\00\00\00\07\873\00\A0Q\01\87/\FF\FD\00\00\00\07\873\00\A0R\01\87/\FF\FD\00\00\00\07\873\00\A0S\01\87/\FF\FD\00\00\00\07\873\00\A0T\01\87/\FF\FD\00\00\00\07\873\00\A0U\01\87/\FF\FD\00\00\00\07\873\00\A0V\01\87/\FF\FD\00\00\00\07\873\00\A0W\01\87/\FF\FD\00\00\00\07\873\00\A0X\01\87/\FF\FD\00\00\00\07\873\00\A0Y\01\87/\FF\FD\00\00\00\07\873\00\A0Z\01\87/\FF\FD\00\00\00\07\873\00\A0[\01\87/\FF\FD\00\00\00\07\873\00\A0\5C\01\87/\FF\FD\00\00\00\07\873\00\A0]\01\87/\FF\FD\00\00\00\07\873\00\A0^\01\87/\FF\FD\00\00\00\07\873\00\A0_\01\87/\FF\FD\00\00\00\07\873\00\A0`\01\87/\FF\FD\00\00\00\07\873\00\A0a\01\87/\FF\FD\00\00\00\07\873\00\A0l\01\87/\FF\FD\00\00\00\07\873\00\A0m\01\87/\FF\FD\00\00\00\07\873\00\A0n\01\87/\FF\FD\00\00\00\07\873\00\A0o\01\87/\FF\FD\00\00\00\07\873\00\A0p\01\87/\FF\FD\00\00\00\07\873\00\A0w\01\87/\FF\FD\00\00\00\07\873\00\A0x\01\87/\FF\FD\00\00\00\07\873\00\A0y\01\87/\FF\FD\00\00\00\07\873\00\A0z\01\87/\FF\FD\00\00\00\07\873\00\A0{\01\87/\FF\FD\00\00\00\07\873\00\A0|\01\87/\FF\FD\00\00\00\07\873\00\A0\81\01\87/\FF\FD\00\00\00\07\873\00\A0\82\01\87/\01\01\80\ED\04\01\80\94\89i\FF\FC\00\00\00\01\01\07\89m\03\01\80\B3\01\81\FF\01\80\ED\04\01\80\9E\89}\FF\FC\00\00\00\01\01\07\89\87\01\06\01\01\82\F1\04\01\80\94\89\97\FF\FC\00\00\00\01\01\07\89\9D\01\01\82\F1\04\01\80\94\89\AD\FF\FC\00\00\00\01\01\07\89\B1\04\01\80\9C\89\AD\FF\FC\00\00\00\01\01\07\89\C1\02\01\81\FF\01\82\F1\04\01\80\9D\89\D1\FF\FC\00\00\00\01\01\07\89\D8\04\01\82\D9\89\AD\01\07\89\E8\04\01\80\94\89\EE\FF\FC\00\00\00\01\01\07\89\F2\02\07\89\E8\01\81\FF\04\01\80\95\8A\02\FF\FC\00\00\00\01\01\07\8A\09\02\01\80\ED\01\82\F1\04\01\80\9D\8A\19\FF\FC\00\00\00\01\01\07\8A \02\06\01\01\82\F1\01\82\F1\04\01\80\9D\8A0\FF\FC\00\00\00\01\01\07\8A9\02\01\82\F1\01\82\F1\04\01\80\9D\8AI\FF\FC\00\00\00\01\01\07\8AP\FF\FC\00\00\00\16\1D\00\FF\FC\00\00\00\16\1D\01\FF\FC\00\00\00\16\1D\03\FF\FC\00\00\00\16\1D\02\05\00\1E\00\01\FF\FF\FF\FF\FF\A1a\05\01\15\02\02\01\01\07\84\D1\07\8A\80\01\07\8A\8C\FF\FD\00\00\00\01\82\F1\00\A1a\02\8A\99\FF\FC\00\00\00\16\1A\00\00\08\FF\FC\00\00\00\16\19 \00\15\013\01\01\80\FF\FF\FC\00\00\00\16\19\00\01\1C\15\013\01\01\80\FF\FF\FC\00\00\00\16\1A \00\01\FF\FC\00\00\00\16\1A \02\01\1C\08\FF\FC\00\00\00\16\1A \01\01\15\013\01\01\80\FF\FF\FC\00\00\00\16\1A \04\01\05\15\013\01\01\80\FF\08\15\013\01\01\81\FF\FF\FC\00\00\00\16\1A \01\01\1C\FF\FC\00\00\00\16\19 \06\01\1C\1C\15\013\01\01\81\FF\08\08\1C\FF\FC\00\00\00\16\1A \02\01\1C\15\013\01\01\81\FF\FF\FC\00\00\00\16\1A \03\01\1C\15\013\01\01\81\FF\08\FF\FC\00\00\00\16\1A \02\01\1C\1C\FF\FC\00\00\00\16\19 \07\01\1C\1C\1C\15\013\01\01\81\FF\08\08\1C\FF\FC\00\00\00\16\1A \03\01\1C\1C\15\013\01\01\81\FF\FF\FC\00\00\00\16\1A \03\01\1C\1C\08\FF\FC\00\00\00\16\1A \04\01\1C\1C\15\013\01\01\81\FF\08\FF\FC\00\00\00\16\1A \06\01\1C\1C\15\013\01\01\81\FF\08\08\1C\FF\FC\00\00\00\16\1A \07\01\1C\1C\1C\15\013\01\01\81\FF\08\08\1C\FF\FC\00\00\00\16\1A\00\06\1C\1C\1C\15\013\01\01\81\FF\08\08\1C\FF\FC\00\00\00\16\1A\00\07\1C\1C\1C\1C\15\013\01\01\81\FF\08\08\1C\FF\FC\00\00\00\16\1A \00\1C\FF\FC\00\00\00\16\1A \01\05\15\013\01\01\80\FF\FF\FC\00\00\00\16\19 \01\05\15\013\01\01\80\FF\FF\FC\00\00\00\16\1A \00\15\013\01\01\80\FF\FF\FC\00\00\00\16\19 \01\15\013\01\01\80\FF\05\FF\FC\00\00\00\16\1A \01\15\013\01\01\80\FF\05\FF\FC\00\00\00\16\1A\00\00\1C\FF\FC\00\00\00\16\19\00\03\1C\10\18\1C\1C\FF\FC\00\00\00\16\19 \01\15\013\01\01\80\FF\1C\05\00\13\00\01\00\01\87n\05\01\15\02\02\01\01\07\84\D1\07\8C\95\01\07\8C\9E\04\01\87n\8C\AB\FF\FD\00\00\00\07\8C\AF\00\C0\00A\DA\01\8C\AB\FF\FC\00\00\00\16\1A \00\15\013\01\01\81\FF\05\00\13\00\01\00\01\87s\05\01\15\02\02\01\01\07\84\D1\07\8C\D5\01\07\8C\DE\04\01\87s\8C\EB\FF\FD\00\00\00\07\8C\EF\00\C0\00A\E6\01\8C\EB\02\01\81\FF\01\80\BA\04\014\8D\05\FF\FC\00\00\00\16\1A \01\15\013\01\07\8D\0C\05\FF\FC\00\00\00\16\1A \01\1C\1C\FF\FC\00\00\00\16\19 \04\1C\1C\1C\15\013\01\01\81\FF\08\FF\FC\00\00\00\16\1A \02\1C\1C\15\013\01\01\81\FF\FF\FC\00\00\00\16\1A \02\1C\1C\1C\FF\FC\00\00\00\16\1A \02\1C\1C\08\FF\FC\00\00\00\16\1A \04\1C\1C\15\013\01\01\81\FF\08\1C\05\00\13\00\01\00\01\83\05\05\01\15\02\02\01\01\07\84\D1\07\8D\7F\01\07\8D\88\04\01\83\05\8D\95\FF\FD\00\00\00\07\8D\99\00\A1\C0\01\8D\95\FF\FC\00\00\00\16\1A \04\1C\1C\1C\15\013\01\01\81\FF\08\FF\FC\00\00\00\16\19 \05\1C\1C\1C\1C\15\013\01\01\81\FF\08\FF\FC\00\00\00\16\1A \03\1C\1C\1C\15\013\01\01\81\FF\FF\FC\00\00\00\16\1A \03\1C\1C\1C\1C\FF\FC\00\00\00\16\1A \03\1C\1C\1C\08\FF\FC\00\00\00\16\1A \05\1C\1C\1C\15\013\01\01\81\FF\08\1C\FF\FC\00\00\00\16\1A \05\1C\1C\1C\1C\15\013\01\01\81\FF\08\FF\FC\00\00\00\16\19 \04\01\15\013\01\01\81\FF\08\08\1C\FF\FC\00\00\00\16\1A \01\01\15\013\01\01\81\FF\FF\FC\00\00\00\16\1A \02\01\08\08\FF\FC\00\00\00\16\1A \04\01\15\013\01\01\81\FF\08\08\1C\FF\FC\00\00\00\16\1A \00\08\FF\FC\00\00\00\16\19\00\06\1C\1C\1C\15\013\01\01\81\FF\08\08\1C\FF\FC\00\00\00\16\19 \01\1C\1C\FF\FC\00\00\00\16\19\00\07\1C\1C\1C\1C\15\013\01\01\81\FF\08\08\1C\FF\FC\00\00\00\16\1A\00\05\01\1C\1C\1C\1C\05\FF\FC\00\00\00\16\19 \01\01\15\013\01\01\80\FF\FF\FC\00\00\00\16\19 \01\01\1C\FF\FC\00\00\00\16\19\00\05\1C\1C\1C\1C\08\1C\FF\FC\00\00\00\16\19 \00\1C\FF\FC\00\00\00\16\1A \04\1C\1C\1C\08\1C\05\00\13\00\01\00\01\82\DF\05\01\15\02\02\01\01\07\84\D1\07\8F\06\01\07\8F\0F\04\01\82\DF\8F\1C\FF\FD\00\00\00\07\8F \00\A0\89\01\8F\1C\FF\FC\00\00\00\16\1A\00\05\1C\1C\1C\1C\08\1C\FF\FC\00\00\00\16\19\00\05\1C\1C\1C\1C\1C\08\FF\FC\00\00\00\16\1A \04\1C\1C\1C\1C\08\05\00\13\00\01\00\01\82\E0\05\01\15\02\02\01\01\07\84\D1\07\8F`\01\07\8Fi\04\01\82\E0\8Fv\FF\FD\00\00\00\07\8Fz\00\A0\8C\01\8Fv\FF\FC\00\00\00\16\1A\00\05\1C\1C\1C\1C\1C\08\FF\FC\00\00\00\16\19\00\05\01\1C\1C\1C\1C\05\FF\FC\00\00\00\16\19 \02\1C\1C\1C\FF\FC\00\00\00\16\1A\00\02\1C\08\15\013\01\01\81\FF\FF\FC\00\00\00\16\19\00\05\1C\1C\1C\08\15\013\01\01\81\FF\1C\05\01\1C\07\84\D7\01\07\8F\DF\04\01\82\D9\8F\E5\05\00\1E\00\01\FF\FF\FF\FF\FF\A0:\05\01\15\02\02\01\01\07\84\D1\07\8F\EF\01\07\8F\FB\FF\FD\00\00\00\07\8F\E9\00\A0:\03\8F\E5\90\08\04\01\80\9C\89\97\FF\FC\00\00\00\01\01\07\90\1C\02\01\81\FF\06\01\01\82\F1\04\01\80\9D\90,\FF\FC\00\00\00\01\01\07\905\04\01\82\D9\89\97\01\07\90E\04\01\80\94\90K\FF\FC\00\00\00\01\01\07\90O\02\07\90E\01\81\FF\04\01\80\95\90_\FF\FC\00\00\00\01\01\07\90f\02\01\80\ED\06\01\01\82\F1\04\01\80\9D\90v\FF\FC\00\00\00\01\01\07\90\7F\02\06\01\01\82\F1\06\01\01\82\F1\04\01\80\9D\90\8F\FF\FC\00\00\00\01\01\07\90\9A\02\01\82\F1\06\01\01\82\F1\04\01\80\9D\90\AA\FF\FC\00\00\00\01\01\07\90\B3\FF\FC\00\00\00\16\1A\00\05\1C\1C\1C\08\15\013\01\01\81\FF\1C\FF\FC\00\00\00\16\19\00\02\1C\08\15\013\01\01\81\FF\FF\FC\00\00\00\16\19\00\01\01\1C\FF\FC\00\00\00\16\19\00\02\1C\1C\1C\FF\FC\00\00\00\16\19\00\00\1C\FF\FC\00\00\00\16\19\00\01\1C\1C\FF\FC\00\00\00\16\19\00\02\01\1C\1C\FF\FC\00\00\00\16\19 \02\01\1C\1C\FF\FC\00\00\00\16\1A\00\01\1C\15\013\01\01\80\FF\05\00\13\00\01\00\01\87t\05\01\15\02\02\01\01\07\84\D1\07\91?\01\07\91H\04\01\87t\91U\FF\FD\00\00\00\07\91Y\00\C0\00A\E8\01\91U\FF\FC\00\00\00\16\1A \02\01\1C\05\FF\FC\00\00\00\16\1A \05\01\1C\1C\1C\08\08\05\00\13\00\01\00\01\83\06\05\01\1C\07\91\8A\05\00\13\01\01\00\01\83\06\05\01\15\02\02\01\01\07\84\D1\07\91\99\02\07\91\93\07\91\A2\04\01\83\06\91\AF\FF\FD\00\00\00\07\91\B6\00\A1\C2\01\91\AF\0C\01$&.24 09\18mono_threads_attach_coop\00\07\15mini_llvm_init_method\00\07\22mini_llvm_init_gshared_method_this\00\07$mini_llvm_init_gshared_method_mrgctx\00\07$mini_llvm_init_gshared_method_vtable\00\07%mini_llvmonly_throw_nullref_exception\00\07 mono_llvm_throw_corlib_exception\00\07\17mono_threads_state_poll\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!\FF\FE\00\00\00\01\FF+\00\00\01\03\FF\FE\00\00\00\01\FF+\00\00\01\1F%mini_llvmonly_throw_nullref_exception\00\03\A1$\03\FF\FE\00\00\00\01\CA\00\00\09\10\01\01\0E\01\80\FF\03\FF\FC\00\00\00\19\02\03\8DW\03\97\C4\03\A0\C7\03\A0\C8\03\A0\C6#\84\F1\8CB\FF\FD\00\00\00\07\84\F1\00\A0\14\01\84\ED7\00\0F\01\82\F1\99(#\84\F1\8CB\FF\FD\00\00\00\07\84\F1\00\A0\15\01\84\ED\03\A0\D1#\84\F1\96\06\07\84\F1\03\A1\0B\07\1Emono_create_corlib_exception_1\00\1F\19mono_llvm_throw_exception\00\03\A0\FC#\84\F1\96\06\07\84\E0\0F\01\81>\91>\10\00\C0\01Br\10\00\C0\01B\A6\10\00\C0\01\0C\FF\03\98w\03\8DS\10\00\C0\01B\98\03\A0\DB\03\A1\17\03\A1\88#\84\F1\8CB\FF\FD\00\00\00\07\84\F1\00\A0\1A\01\84\ED#\84\F1\8CB\FF\FD\00\00\00\07\84\F1\00\A0\1E\01\84\ED\03\A1\11\03\A0\DE\03\A1*#\84\F1\96\00\07\84\F1\04\01\82\DD\84\ED#\84\F1\96\06\07\94\A1#\84\F1\8CB\FF\FD\00\00\00\07\94\A1\00\A0I\01\84\ED\04\01\80\9C\84\ED#\84\F1\96\1C\07\94\C2\03\FF\FC\00\00\00\10\0A\02\01\81\FF\07\84\E0\04\01\80\9D\94\D8#\84\F1\96\1C\07\94\DF\04\01\87n\84\ED#\84\F1\96\06\07\94\ED#\84\F1\8CB\FF\FD\00\00\00\07\94\ED\00\C0\00A\DA\01\84\ED\04\01\87s\84\ED#\84\F1\96\06\07\95\10#\84\F1\8CB\FF\FD\00\00\00\07\95\10\00\C0\00A\E6\01\84\ED\03\A2c#\84\F1\8CB\FF\FD\00\00\00\07\84\F1\00\A0(\01\84\ED\03\A1M\04\01\83\05\84\ED#\84\F1\96\06\07\95L#\84\F1\8CB\FF\FD\00\00\00\07\95L\00\A1\C0\01\84\ED\03\A1N#\84\F1\8CB\FF\FD\00\00\00\07\84\F1\00\A0.\01\84\ED\0E\01\83\13\0F\01\83\13\99\91\07\17mono_generic_class_init\00#\873\8CB\FF\FD\00\00\00\07\873\00\A0M\01\87/\03\A2L\03\A1\FA#\873\8CB\FF\FD\00\00\00\07\873\00\A0H\01\87/\04\01\82\D9\87/#\873\96\06\07\95\D3#\873\8CB\FF\FD\00\00\00\07\95\D3\00\A0\16\01\87/#\873\8CB\FF\FD\00\00\00\07\95\D3\00\A0\17\01\87/\07\1Amono_llvm_resume_exception\003>\07\19mono_llvm_match_exception\00\07#ves_icall_thread_finish_async_abort\00\07\18mono_llvm_load_exception\00\07\19mono_llvm_clear_exception\00\07$mono_thread_get_undeniable_exception\00\03\A0\D6\03\A0\D7\0E\01\82\F1\0F\01\82\F1\99%\03\A0\02#\873\8CB\FF\FD\00\00\00\07\95\D3\00\A0\1A\01\87/#\873\8CB\FF\FD\00\00\00\07\95\D3\00\A0\1B\01\87/#\873\8CB\FF\FD\00\00\00\07\873\00\A0G\01\87/#\873\96\06\07\873#\873\8CB\FF\FD\00\00\00\07\873\00\A0^\01\87/3B\04\01\82\DF\87/#\873\96\06\07\97/#\873\8CB\FF\FD\00\00\00\07\97/\00\A0\89\01\87/\03\A2&#\873\8CB\FF\FD\00\00\00\07\95\D3\00\A0\09\01\87/\1F mono_llvm_throw_corlib_exception\00\01\01\81\FF\04\01\80\94\97\89\0E\07\97\8D#\873\8C\0C\FF\FD\00\00\00\07\97/\00\A0\8A\01\87/#\873\8C\1A\FF\FD\00\00\00\07\97/\00\A0\8A\01\87/\07\1Bmini_llvmonly_init_delegate\00\06\89[\06\89\5C\0E\01\82}#\873\8C\0C\FF\FD\00\00\00\07\97/\00\A0\8B\01\87/#\873\8C\1A\FF\FD\00\00\00\07\97/\00\A0\8B\01\87/\03\9D\84\03\A0\EB#\873\8CB\FF\FD\00\00\00\07\873\00\A0a\01\87/3E\04\01\82\E0\87/#\873\96\06\07\98&#\873\8CB\FF\FD\00\00\00\07\98&\00\A0\8C\01\87/\0E\01\80\B3#\873\8C\0C\FF\FD\00\00\00\07\98&\00\A0\8D\01\87/#\873\8C\1A\FF\FD\00\00\00\07\98&\00\A0\8D\01\87/\06\89^#\873\8CB\FF\FD\00\00\00\07\873\00\A0Z\01\87/\03\A0\00\10\00\C0\01C@\03\8DN\1F\1Bmono_llvm_rethrow_exception\00#\873\8CB\FF\FD\00\00\00\07\95\D3\00\A0\0B\01\87/#\873\8CB\FF\FD\00\00\00\07\873\00\A0w\01\87/\03\A2J\03\9B9\03\A2'\04\01\82\E4\87/#\873\96\06\07\98\E0#\873\96\00\07\98\E0#\873\8C\14\FF\FD\00\00\00\07\90E\00\A0:\03\89\97\87/#\873\8CB\FF\FD\00\00\00\07\90E\00\A0:\03\89\97\87/\03\07\90E\01\81\FF\07\87\22\04\01\80\9E\99 #\873\96\06\07\99*#\873\8C\0C\FF\FD\00\00\00\07\98\E0\00\A0\96\01\87/#\873\8C\1A\FF\FD\00\00\00\07\98\E0\00\A0\96\01\87/#\873\8CB\FF\FD\00\00\00\07\873\00\A0l\01\87/#\873\8C\0C\FF\FD\00\00\00\07\98\E0\00\A0\97\01\87/#\873\8C\1A\FF\FD\00\00\00\07\98\E0\00\A0\97\01\87/#\873\8CB\FF\FD\00\00\00\07\873\00\A0\82\01\87/\03\A29#\873\8C\14\FF\FD\00\00\00\07\89\E8\00\A0:\03\89\AD\87/#\873\8CB\FF\FD\00\00\00\07\89\E8\00\A0:\03\89\AD\87/\03\07\89\E8\01\81\FF\07\87\22\04\01\80\9E\99\D7#\873\96\06\07\99\E1#\873\8C\0C\FF\FD\00\00\00\07\98\E0\00\A0\98\01\87/#\873\8C\1A\FF\FD\00\00\00\07\98\E0\00\A0\98\01\87/\07\1Emono_create_corlib_exception_2\00#\873\8C\0C\FF\FD\00\00\00\07\98\E0\00\A0\99\01\87/#\873\8C\1A\FF\FD\00\00\00\07\98\E0\00\A0\99\01\87/5\00\01\01\12\01\80\ED5 \01\01\12\01\80\ED\07#mono_thread_interruption_checkpoint\005\00\02\12\01\80\ED\12\01\80\B3\1C5 \02\12\01\80\ED\12\01\80\B3\1C5\00\01\01\1D\01\82\F15 \01\01\1D\01\82\F15\00\01\01\12\01\82\F15 \01\01\12\01\82\F15\00\00\12\01\82\F15 \00\12\01\82\F15\00\01\12\01\82\F1\1C5 \01\12\01\82\F1\1C5\00\01\01\15\01\82\D9\01\01\82\F15 \01\01\15\01\82\D9\01\01\82\F15\00\02\01\15\01\82\D9\01\01\82\F1\1C5 \02\01\15\01\82\D9\01\01\82\F1\1C5\00\01\12\01\82\F1\12\01\80\ED5 \01\12\01\82\F1\12\01\80\ED5\00\01\12\01\82\F1\1D\01\82\F15 \01\12\01\82\F1\1D\01\82\F15\00\01\12\01\82\F1\12\01\82\F15 \01\12\01\82\F1\12\01\82\F1\FF\FD\00\00\00\01\82\F1\00\A1a\02\8A\99\04\01\82\D9\8A\99#\9B\5C\96\07\07\9Bj#\9B\5C\8CC\FF\FD\00\00\00\07\9Bj\00\A0\0A\01\8A\99\04\01\87t\8C\EB#\8C\EF\96\06\07\9B\8B#\8C\EF\8CB\FF\FD\00\00\00\07\9B\8B\00\C0\00A\E8\01\8C\EB\FF\FD\00\00\00\07\8F\E9\00\A0:\03\8F\E5\90\08\02\07\8F\DF\07\8F\FB\04\01\83\06\9B\BE#\9B\AE\96\07\07\9B\C5#\9B\AE\8CC\FF\FD\00\00\00\07\9B\C5\00\A1\C2\01\9B\BE5\00\00\1D\01\82\F15 \00\1D\01\82\F15\00\01\1D\01\82\F1\1C5 \01\1D\01\82\F1\1C5\00\01\01\15\01\82\D9\01\06\01\01\82\F15 \01\01\15\01\82\D9\01\06\01\01\82\F15\00\02\01\15\01\82\D9\01\06\01\01\82\F1\1C5 \02\01\15\01\82\D9\01\06\01\01\82\F1\1C5\00\01\1D\01\82\F1\12\01\80\ED5 \01\1D\01\82\F1\12\01\80\ED5\00\01\1D\01\82\F1\1D\01\82\F15 \01\1D\01\82\F1\1D\01\82\F15\00\01\1D\01\82\F1\12\01\82\F15 \01\1D\01\82\F1\12\01\82\F1\01\07\91\A2\04\01\82\D9\9C\80#\91\B6\8CB\FF\FD\00\00\00\07\9C\84\00\A0\15\01\9C\80\18\00\00\00\00\18\00\00\00\00\18\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\08\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\09\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\0A\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\0B\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\0C\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\0D\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\0E\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\0F\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\10\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\11\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\12\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\13\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\14\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\15\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\16\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\17\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\18\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\19\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\1A\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\1B\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\1C\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\1D\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\1E\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\1F\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0 \01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0!\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0\22\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0#\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0$\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0%\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0&\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0'\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0(\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0)\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0*\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0+\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0,\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0-\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\84\F1\00\A0.\01\84\ED\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0G\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0H\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0I\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0J\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0K\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0L\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0M\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0N\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0O\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0P\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0Q\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0R\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0S\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0T\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0U\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0V\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0W\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0X\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0Y\01\87/\00\00\00\00\1D\00\03\00\03\01\81 \0C\16\22\03\01\02\FF\FF\FF\FF\FF\00\03\01\81\B2\0C\16%\03\02\FF\FF\FF\FF\FF\02\0C\1C(K\FF\FF\FF\FF\FF\00\0E\FF\FD\00\00\00\07\873\00\A0Z\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0[\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0\5C\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0]\01\87/\00\00\00\00\1D\00\01\00\03\01\81\B2\80\AA\14\80\BE\10\FF\FF\FF\FF\FF\00\0E\FF\FD\00\00\00\07\873\00\A0^\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0_\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0`\01\87/\00\00\00\00\1D\00\01\00\03\01\81\FF~7\80\B57\FF\FF\FF\FF\FF\00\0E\FF\FD\00\00\00\07\873\00\A0a\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0l\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0m\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0n\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0o\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0p\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0w\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0x\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0y\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0z\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0{\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0|\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0\81\01\87/\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\873\00\A0\82\01\87/\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\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\19\00\00\07\FF\FF\00\00\00\9B\5C\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\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\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\19\00\00\10\FF\FD\00\00\00\07\8C\AF\00\C0\00A\DA\01\8C\AB\00\00\00\00\18\00\00\00\00\19\00\00\10\FF\FD\00\00\00\07\8C\EF\00\C0\00A\E6\01\8C\EB\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\19\00\00\0E\FF\FD\00\00\00\07\8D\99\00\A1\C0\01\8D\95\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\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\18\00\00\00\00\18\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\8F \00\A0\89\01\8F\1C\00\00\00\00\18\00\00\00\00\18\00\00\00\00\18\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\8Fz\00\A0\8C\01\8Fv\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\19\00\00\07\FF\FF\00\00\00\9B\AE\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\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\19\00\00\10\FF\FD\00\00\00\07\91Y\00\C0\00A\E8\01\91U\00\00\00\00\18\00\00\00\00\18\00\00\00\00\19\00\00\0E\FF\FD\00\00\00\07\91\B6\00\A1\C2\01\91\AF\00\00\00\00\00\80\90\10\00\00\01\FF\FF\FF\FF\FF\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"CE4D7F88-1127-4EC4-821D-71879C64224B\00", align 8 | |
@assembly_name = internal constant [4 x i8] c"tup\00", align 8 | |
@mono_aot_tup_llvm_got = hidden global [202 x i64*] zeroinitializer | |
@mono_inited = internal global [191 x i8] zeroinitializer | |
@tup_unbox_tramp_indexes = global [3 x i16] [i16 128, i16 130, i16 187] | |
@tup_unbox_trampolines = global [3 x i8*] [i8* bitcast (void (i64*, i64*, i64*)* @ut_System_Runtime_CompilerServices_TaskAwaiter_1_TResult_INST__ctor_System_Threading_Tasks_Task_1_TResult_INST to i8*), i8* bitcast (void (i64*, i64*, i8, i64*)* @ut_System_Runtime_CompilerServices_ConfiguredTaskAwaitable_1_TResult_INST__ctor_System_Threading_Tasks_Task_1_TResult_INST_bool to i8*), i8* bitcast (void (i64*, i64*, i8, i64*)* @ut_System_Runtime_CompilerServices_ConfiguredTaskAwaitable_1_ConfiguredTaskAwaiter_TResult_INST__ctor_System_Threading_Tasks_Task_1_TResult_INST_bool to i8*)] | |
@llvm.used = appending global [3 x i8*] [i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i8* bitcast ([202 x i64*]* @mono_aot_tup_llvm_got to i8*), i8* bitcast (i8* (i32)* @mono_aot_tup_get_method to i8*)], section "llvm.metadata" | |
@mono_aot_file_info = global %MonoAotFileInfo { i32 157, i32 0, i8* null, i8* bitcast ([202 x i64*]* @mono_aot_tup_llvm_got to i8*), i8* null, i8* bitcast (i8* (i32)* @mono_aot_tup_get_method to i8*), i8* null, i8* null, i8* null, i8* null, i8* bitcast ([3 x i16]* @tup_unbox_tramp_indexes to i8*), i8* bitcast ([3 x i8*]* @tup_unbox_trampolines to i8*), i8* getelementptr inbounds ([9870 x i8], [9870 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 ([22 x i8], [22 x i8]* @class_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([268 x i8], [268 x i8]* @method_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([272 x i8], [272 x i8]* @ex_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([1500 x i8], [1500 x i8]* @extra_method_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([4984 x i8], [4984 x i8]* @extra_method_table, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @got_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([281 x i8], [281 x i8]* @llvm_got_info_offsets, i32 0, i32 0), i8* getelementptr inbounds ([156 x i8], [156 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 ([4 x i8], [4 x i8]* @assembly_name, i32 0, i32 0), i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, i32 0, i32 8, i32 1, i32 191, i32 99, i32 51, i32 391211519, i32 63, i32 9865, i32 128, i32 8, i32 8, i32 8, i32 9, i32 8388607, i32 0, i32 20, i32 0, i32 3, 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"\AB\EA\C6\D4\D7\C6(\F6\FE3\91\12C\DF\95\9C" } | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.memset.p0i8.i32(i8* nocapture writeonly, i8, i32, i32, i1) #0 | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture writeonly, i8* nocapture readonly, i32, i32, i1) #0 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i32, i1 } @llvm.sadd.with.overflow.i32(i32, i32) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i32, i1 } @llvm.uadd.with.overflow.i32(i32, i32) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i32, i1 } @llvm.ssub.with.overflow.i32(i32, i32) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i32, i1 } @llvm.usub.with.overflow.i32(i32, i32) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i32, i1 } @llvm.smul.with.overflow.i32(i32, i32) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i32, i1 } @llvm.umul.with.overflow.i32(i32, i32) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i64, i1 } @llvm.sadd.with.overflow.i64(i64, i64) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i64, i1 } @llvm.ssub.with.overflow.i64(i64, i64) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i64, i1 } @llvm.usub.with.overflow.i64(i64, i64) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i64, i1 } @llvm.smul.with.overflow.i64(i64, i64) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare { i64, i1 } @llvm.umul.with.overflow.i64(i64, i64) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare double @llvm.sin.f64(double) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare double @llvm.cos.f64(double) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare double @llvm.sqrt.f64(double) #1 | |
declare double @fabs(double) | |
; Function Attrs: nounwind readnone speculatable | |
declare float @llvm.fabs.f32(float) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare float @llvm.sin.f32(float) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare float @llvm.cos.f32(float) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare float @llvm.sqrt.f32(float) #1 | |
; Function Attrs: nounwind readnone speculatable | |
declare float @llvm.pow.f32(float, float) #1 | |
; Function Attrs: nounwind readnone | |
declare i8 @llvm.expect.i8(i8, i8) #2 | |
; Function Attrs: nounwind readnone | |
declare i1 @llvm.expect.i1(i1, i1) #2 | |
; Function Attrs: nounwind readnone | |
declare i32 @llvm.x86.sse2.pmovmskb.128(<16 x i8>) #2 | |
; Function Attrs: nounwind readnone | |
declare <8 x i16> @llvm.x86.sse2.psrli.w(<8 x i16>, i32) #2 | |
; Function Attrs: nounwind readnone | |
declare <8 x i16> @llvm.x86.sse2.psrai.w(<8 x i16>, i32) #2 | |
; Function Attrs: nounwind readnone | |
declare <8 x i16> @llvm.x86.sse2.pslli.w(<8 x i16>, i32) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x i32> @llvm.x86.sse2.psrli.d(<4 x i32>, i32) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x i32> @llvm.x86.sse2.psrai.d(<4 x i32>, i32) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x i32> @llvm.x86.sse2.pslli.d(<4 x i32>, i32) #2 | |
; Function Attrs: nounwind readnone | |
declare <2 x i64> @llvm.x86.sse2.psrli.q(<2 x i64>, i32) #2 | |
; Function Attrs: nounwind readnone | |
declare <2 x i64> @llvm.x86.sse2.pslli.q(<2 x i64>, i32) #2 | |
; Function Attrs: nounwind readnone | |
declare <2 x double> @llvm.x86.sse2.sqrt.pd(<2 x double>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse.sqrt.ps(<4 x float>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse.rsqrt.ps(<4 x float>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse.rcp.ps(<4 x float>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x i32> @llvm.x86.sse2.cvttpd2dq(<2 x double>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x i32> @llvm.x86.sse2.cvttps2dq(<4 x float>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse2.cvtdq2ps(<4 x i32>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x i32> @llvm.x86.sse2.cvtpd2dq(<2 x double>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x i32> @llvm.x86.sse2.cvtps2dq(<4 x float>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse2.cvtpd2ps(<2 x double>) #2 | |
; Function Attrs: nounwind readnone | |
declare <2 x double> @llvm.x86.sse2.cmp.pd(<2 x double>, <2 x double>, i8) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse.cmp.ps(<4 x float>, <4 x float>, i8) #2 | |
; Function Attrs: nounwind readnone | |
declare <16 x i8> @llvm.x86.sse2.packsswb.128(<8 x i16>, <8 x i16>) #2 | |
; Function Attrs: nounwind readnone | |
declare <16 x i8> @llvm.x86.sse2.packuswb.128(<8 x i16>, <8 x i16>) #2 | |
; Function Attrs: nounwind readnone | |
declare <16 x i8> @llvm.x86.sse2.packssdw.128(<8 x i16>, <8 x i16>) #2 | |
; Function Attrs: nounwind readnone | |
declare <8 x i16> @llvm.x86.sse41.packusdw(<4 x i32>, <4 x i32>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse.min.ps(<4 x float>, <4 x float>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse.max.ps(<4 x float>, <4 x float>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse3.hadd.ps(<4 x float>, <4 x float>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse3.hsub.ps(<4 x float>, <4 x float>) #2 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse3.addsub.ps(<4 x float>, <4 x float>) #2 | |
; Function Attrs: nounwind readnone | |
declare <2 x double> @llvm.x86.sse2.min.pd(<2 x double>, <2 x double>) #2 | |
; Function Attrs: nounwind readnone | |
declare <2 x double> @llvm.x86.sse2.max.pd(<2 x double>, <2 x double>) #2 | |
; Function Attrs: nounwind readnone | |
declare <2 x double> @llvm.x86.sse3.hadd.pd(<2 x double>, <2 x double>) #2 | |
; Function Attrs: nounwind readnone | |
declare <2 x double> @llvm.x86.sse3.hsub.pd(<2 x double>, <2 x double>) #2 | |
; Function Attrs: nounwind readnone | |
declare <2 x double> @llvm.x86.sse3.addsub.pd(<2 x double>, <2 x double>) #2 | |
; Function Attrs: nounwind readnone | |
declare <8 x i16> @llvm.x86.sse2.padds.w(<8 x i16>, <8 x i16>) #2 | |
; Function Attrs: nounwind readnone | |
declare <8 x i16> @llvm.x86.sse2.psubs.w(<8 x i16>, <8 x i16>) #2 | |
; Function Attrs: nounwind readnone | |
declare <8 x i16> @llvm.x86.sse2.paddus.w(<8 x i16>, <8 x i16>) #2 | |
; Function Attrs: nounwind readnone | |
declare <8 x i16> @llvm.x86.sse2.psubus.w(<8 x i16>, <8 x i16>) #2 | |
; Function Attrs: nounwind readnone | |
declare <8 x i16> @llvm.x86.sse2.pmulh.w(<8 x i16>, <8 x i16>) #2 | |
; Function Attrs: nounwind readnone | |
declare <8 x i16> @llvm.x86.sse2.pmulhu.w(<8 x i16>, <8 x i16>) #2 | |
; Function Attrs: nounwind readnone | |
declare <16 x i8> @llvm.x86.sse2.padds.b(<16 x i8>, <16 x i8>) #2 | |
; Function Attrs: nounwind readnone | |
declare <16 x i8> @llvm.x86.sse2.psubs.b(<16 x i8>, <16 x i8>) #2 | |
; Function Attrs: nounwind readnone | |
declare <16 x i8> @llvm.x86.sse2.paddus.b(<16 x i8>, <16 x i8>) #2 | |
; Function Attrs: nounwind readnone | |
declare <16 x i8> @llvm.x86.sse2.psubus.b(<16 x i8>, <16 x i8>) #2 | |
; Function Attrs: nounwind | |
declare void @llvm.x86.sse2.pause() #3 | |
; Function Attrs: nounwind readnone | |
declare <4 x float> @llvm.x86.sse41.dpps(<4 x float>, <4 x float>, i8) #2 | |
; Function Attrs: nounwind readnone | |
declare <2 x double> @llvm.x86.sse41.round.pd(<4 x float>, i32) #2 | |
declare void @mono_personality() | |
declare void @llvm_resume_unwind_trampoline() | |
declare i8 @llvm.mono.load.i8.p0i8(i8*, i32, i1, i32) | |
declare void @llvm.mono.store.i8.p0i8(i8, i8*, i32, i1, i32) | |
declare i16 @llvm.mono.load.i16.p0i16(i16*, i32, i1, i32) | |
declare void @llvm.mono.store.i16.p0i16(i16, i16*, i32, i1, i32) | |
declare i32 @llvm.mono.load.i32.p0i32(i32*, i32, i1, i32) | |
declare void @llvm.mono.store.i32.p0i32(i32, i32*, i32, i1, i32) | |
declare i64 @llvm.mono.load.i64.p0i64(i64*, i32, i1, i32) | |
declare void @llvm.mono.store.i64.p0i64(i64, i64*, i32, i1, i32) | |
; Function Attrs: nounwind | |
define weak_odr void @gc.safepoint_poll() #3 { | |
gc.safepoint_poll.entry: | |
%0 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%1 = load i64, i64* %0 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %gc.safepoint_poll.exit, label %gc.safepoint_poll.poll | |
gc.safepoint_poll.poll: ; preds = %gc.safepoint_poll.entry | |
%3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%4 = bitcast i64* %3 to void ()* | |
call void %4() | |
br label %gc.safepoint_poll.exit | |
gc.safepoint_poll.exit: ; preds = %gc.safepoint_poll.poll, %gc.safepoint_poll.entry | |
ret void | |
} | |
; Function Attrs: nounwind | |
define internal void @llvm_code_start() #3 { | |
ENTRY: | |
ret void | |
} | |
; Function Attrs: noinline | |
define internal preserve_allcc void @mono_aot_tupinit_method(i32) #4 { | |
ENTRY: | |
%1 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 4) | |
%2 = ptrtoint i64* %1 to i64 | |
%3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 9) | |
%4 = bitcast i64* %3 to void (i64, i32)* | |
call void %4(i64 %2, i32 %0) | |
%5 = getelementptr [0 x i8], [0 x i8]* bitcast ([191 x i8]* @mono_inited to [0 x i8]*), i32 0, i32 %0 | |
store i8 1, i8* %5 | |
ret void | |
} | |
; Function Attrs: noinline | |
define internal preserve_allcc void @mono_aot_tupinit_method_gshared_mrgctx(i32, i64) #4 { | |
ENTRY: | |
%2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 4) | |
%3 = ptrtoint i64* %2 to i64 | |
%4 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 11) | |
%5 = bitcast i64* %4 to void (i64, i32, i64)* | |
call void %5(i64 %3, i32 %0, i64 %1) | |
%6 = getelementptr [0 x i8], [0 x i8]* bitcast ([191 x i8]* @mono_inited to [0 x i8]*), i32 0, i32 %0 | |
store i8 1, i8* %6 | |
ret void | |
} | |
; Function Attrs: noinline | |
define internal preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32, i64*) #4 { | |
ENTRY: | |
%2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 4) | |
%3 = ptrtoint i64* %2 to i64 | |
%4 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 10) | |
%5 = bitcast i64* %4 to void (i64, i32, i64*)* | |
call void %5(i64 %3, i32 %0, i64* %1) | |
%6 = getelementptr [0 x i8], [0 x i8]* bitcast ([191 x i8]* @mono_inited to [0 x i8]*), i32 0, i32 %0 | |
store i8 1, i8* %6 | |
ret void | |
} | |
; Function Attrs: noinline | |
define internal preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32, i64) #4 { | |
ENTRY: | |
%2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 4) | |
%3 = ptrtoint i64* %2 to i64 | |
%4 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 12) | |
%5 = bitcast i64* %4 to void (i64, i32, i64)* | |
call void %5(i64 %3, i32 %0, i64 %1) | |
%6 = getelementptr [0 x i8], [0 x i8]* bitcast ([191 x i8]* @mono_inited to [0 x i8]*), i32 0, i32 %0 | |
store i8 1, i8* %6 | |
ret void | |
} | |
declare i32 @__gxx_personality_v0(...) | |
; Function Attrs: noinline uwtable | |
define internal i32 @P_TestCaller() #5 { | |
BB0: | |
%0 = alloca %"OneThing`1<int>", align 4 | |
%1 = alloca %"OneThing`1<int>", align 4 | |
%2 = alloca %"OneThing`1<int>", align 4 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 0) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%5 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%6 = icmp eq i64 %5, 0 | |
%7 = call i1 @llvm.expect.i1(i1 %6, i1 true) | |
br i1 %7, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %8 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%9 = bitcast %"OneThing`1<int>"* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %9, i8 0, i32 4, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%10 = bitcast %"OneThing`1<int>"* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %10, i8 0, i32 4, i32 0, i1 false) | |
%11 = bitcast %"OneThing`1<int>"* %1 to i32* | |
%12 = getelementptr i32, i32* %11, i32 0 | |
store i32 42, i32* %12 | |
%13 = bitcast %"OneThing`1<int>"* %1 to i8* | |
%14 = bitcast %"OneThing`1<int>"* %2 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %14, i8* %13, i32 4, i32 0, i1 false) | |
%METHOD_RGCTX_20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 20) | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 21) | |
%METHOD_21 = bitcast i64* %15 to i64* (i64, i64*)* | |
%16 = bitcast %"OneThing`1<int>"* %2 to i64* | |
%17 = getelementptr i64, i64* %16, i32 0 | |
%18 = bitcast i64* %17 to i32* | |
%19 = load i32, i32* %18 | |
%20 = sext i32 %19 to i64 | |
%21 = notail call i64* %METHOD_21(i64 %20, i64* %METHOD_RGCTX_20) | |
%22 = icmp eq i64* %21, null | |
br i1 %22, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %23 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 23) | |
%METHOD_23 = bitcast i64* %24 to void (i64*)* | |
notail call void %METHOD_23(i64* %21) | |
%25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 24) | |
%METHOD_24 = bitcast i64* %25 to { i64 } (i64*)* | |
%26 = notail call { i64 } %METHOD_24(i64* %21) | |
%27 = extractvalue { i64 } %26, 0 | |
%28 = bitcast %"OneThing`1<int>"* %0 to i64* | |
%29 = getelementptr i64, i64* %28, i32 0 | |
%30 = trunc i64 %27 to i32 | |
%31 = bitcast i64* %29 to i32* | |
store i32 %30, i32* %31 | |
%32 = bitcast %"OneThing`1<int>"* %0 to i32* | |
%t18 = load i32, i32* %32 | |
%33 = icmp eq i32 %t18, 42 | |
br i1 %33, label %BB4, label %BB5 | |
BB4: ; preds = %NOEX_BB7 | |
br label %BB6 | |
BB5: ; preds = %NOEX_BB7 | |
br label %BB6 | |
BB6: ; preds = %BB5, %BB4 | |
%34 = phi i32 [ 0, %BB5 ], [ 1, %BB4 ] | |
br label %BB7 | |
BB7: ; preds = %BB6 | |
br label %BB1 | |
BB1: ; preds = %BB7 | |
ret i32 %34 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 0) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i32 @P_Main() #5 { | |
BB0: | |
%0 = alloca %System.ParamsArray, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 1) | |
%1 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%2 = icmp eq i8 %1, 0 | |
br i1 %2, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%3 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%4 = icmp eq i64 %3, 0 | |
%5 = call i1 @llvm.expect.i1(i1 %4, i1 true) | |
br i1 %5, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %6 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 0) | |
%8 = bitcast i64* %7 to i32 ()* | |
%9 = notail call i32 @P_TestCaller() | |
%LDSTR_25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 25) | |
%VTABLE_26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 26) | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %10 to i64* (i64, i64)* | |
%11 = ptrtoint i64* %VTABLE_26 to i64 | |
%12 = notail call i64* %METHOD_27(i64 %11, i64 20) | |
%13 = bitcast i64* %12 to i32* | |
%14 = getelementptr i32, i32* %13, i32 4 | |
store i32 %9, i32* %14 | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 28) | |
%METHOD_28 = bitcast i64* %15 to i64* (i64*, i64*)* | |
%16 = notail call i64* %METHOD_28(i64* %LDSTR_25, i64* %12) | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 29) | |
%METHOD_29 = bitcast i64* %17 to void (i64*)* | |
notail call void %METHOD_29(i64* %16) | |
br label %BB4 | |
BB4: ; preds = %BB2 | |
br label %BB1 | |
BB1: ; preds = %BB4 | |
ret i32 0 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 1) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: uwtable | |
define internal void @P__ctor(i64* %this) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor(i64* %this) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 4) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%5 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%6 = icmp eq i64 %5, 0 | |
%7 = call i1 @llvm.expect.i1(i1 %6, i1 true) | |
br i1 %7, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %8 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = load volatile i64, i64* %0 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 30) | |
%METHOD_30 = bitcast i64* %10 to void (i64*)* | |
%11 = inttoptr i64 %9 to i64* | |
notail call void %METHOD_30(i64* %11) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 4, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_object_System_Threading_Tasks_TaskCreationOptions(i64* %this, i64* %arg_state, i32 %arg_options) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 5) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%5 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%6 = icmp eq i64 %5, 0 | |
%7 = call i1 @llvm.expect.i1(i1 %6, i1 true) | |
br i1 %7, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %8 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = load volatile i64, i64* %0 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 31) | |
%METHOD_31 = bitcast i64* %10 to void (i64*, i64*, i32, i8)* | |
%11 = inttoptr i64 %9 to i64* | |
notail call void %METHOD_31(i64* %11, i64* %arg_state, i32 %arg_options, i8 1) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 5, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_TResult_INST(i64* %this, i64 %arg_result) #5 { | |
BB0: | |
%0 = alloca %"OneThing`1<T1_INT>", align 1 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca %System.Threading.CancellationToken, align 8 | |
%3 = alloca %"OneThing`1<T1_INT>", align 4 | |
%4 = alloca i64, align 8 | |
%5 = bitcast %"OneThing`1<T1_INT>"* %0 to i64* | |
%6 = getelementptr i64, i64* %5, i32 0 | |
store i64 %arg_result, i64* %6 | |
%7 = ptrtoint i64* %this to i64 | |
store i64 %7, i64* %4 | |
%8 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %8 | |
%9 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 6) | |
%10 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%11 = icmp eq i8 %10, 0 | |
br i1 %11, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%12 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%13 = icmp eq i64 %12, 0 | |
%14 = call i1 @llvm.expect.i1(i1 %13, i1 true) | |
br i1 %14, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %15 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%16 = bitcast %System.Threading.CancellationToken* %2 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %16, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%17 = load volatile i64, i64* %4 | |
%18 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %18, i8 0, i32 8, i32 0, i1 false) | |
%19 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
%20 = bitcast %System.Threading.CancellationToken* %9 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %20, i8* %19, i32 8, i32 0, i1 false) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 32) | |
%METHOD_32 = bitcast i64* %21 to void (i64*, i8, i32, i64)* | |
%22 = inttoptr i64 %17 to i64* | |
%23 = bitcast %System.Threading.CancellationToken* %9 to i64* | |
%24 = getelementptr i64, i64* %23, i32 0 | |
%25 = load i64, i64* %24 | |
notail call void %METHOD_32(i64* %22, i8 0, i32 0, i64 %25) | |
%26 = load volatile i64, i64* %4 | |
%27 = icmp eq i64 %26, 0 | |
br i1 %27, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%t32 = add i64 %26, 72 | |
%29 = bitcast %"OneThing`1<T1_INT>"* %0 to i32* | |
%t33 = load i32, i32* %29 | |
%30 = inttoptr i64 %t32 to i32* | |
%31 = getelementptr i32, i32* %30, i32 0 | |
store i32 %t33, i32* %31 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 6, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_bool_TResult_INST_System_Threading_Tasks_TaskCreationOptions_System_Threading_CancellationToken(i64* %this, i8 %arg_canceled, i64 %arg_result, i32 %arg_creationOptions, i64 %arg_ct) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %"OneThing`1<T1_INT>", align 1 | |
%2 = alloca %System.Threading.CancellationToken, align 8 | |
%3 = alloca %"OneThing`1<T1_INT>", align 4 | |
%4 = alloca i64, align 8 | |
%5 = zext i8 %arg_canceled to i32 | |
%6 = bitcast %"OneThing`1<T1_INT>"* %1 to i64* | |
%7 = getelementptr i64, i64* %6, i32 0 | |
store i64 %arg_result, i64* %7 | |
%8 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%9 = getelementptr i64, i64* %8, i32 0 | |
store i64 %arg_ct, i64* %9 | |
%10 = ptrtoint i64* %this to i64 | |
store i64 %10, i64* %4 | |
%11 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %11 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 7) | |
%12 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%13 = icmp eq i8 %12, 0 | |
br i1 %13, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%14 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%15 = icmp eq i64 %14, 0 | |
%16 = call i1 @llvm.expect.i1(i1 %15, i1 true) | |
br i1 %16, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %17 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%18 = load volatile i64, i64* %4 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 32) | |
%METHOD_32 = bitcast i64* %19 to void (i64*, i8, i32, i64)* | |
%20 = inttoptr i64 %18 to i64* | |
%21 = trunc i32 %5 to i8 | |
%22 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%23 = getelementptr i64, i64* %22, i32 0 | |
%24 = load i64, i64* %23 | |
notail call void %METHOD_32(i64* %20, i8 %21, i32 %arg_creationOptions, i64 %24) | |
%25 = icmp ne i32 %5, 0 | |
br i1 %25, label %BB4, label %BB5 | |
BB4: ; preds = %NOEX_BB7, %BB2 | |
br label %BB1 | |
BB5: ; preds = %BB2 | |
%26 = load volatile i64, i64* %4 | |
%27 = icmp eq i64 %26, 0 | |
br i1 %27, label %EX_BB5, label %NOEX_BB7 | |
BB1: ; preds = %BB4 | |
ret void | |
EX_BB5: ; preds = %BB5 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB5 | |
%t34 = add i64 %26, 72 | |
%29 = bitcast %"OneThing`1<T1_INT>"* %1 to i32* | |
%t35 = load i32, i32* %29 | |
%30 = inttoptr i64 %t34 to i32* | |
%31 = getelementptr i32, i32* %30, i32 0 | |
store i32 %t35, i32* %31 | |
br label %BB4 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 7, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_System_Func_1_TResult_INST(i64* %this, i64* %arg_function) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 8) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %14, i8 0, i32 8, i32 0, i1 false) | |
%15 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%16 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* %15, i32 8, i32 0, i1 false) | |
%17 = icmp eq i64 %13, 0 | |
br i1 %17, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %18 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%19 = load volatile i64, i64* %2 | |
%20 = inttoptr i64 %19 to i64* | |
%t42 = load i64, i64* %20 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 33) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %21 to i64 (i64, i64)* | |
%22 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%23 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t42, i64 %22) | |
%24 = inttoptr i64 %23 to i64* | |
%t47 = load i64, i64* %24 | |
%25 = inttoptr i64 %23 to i64* | |
%26 = getelementptr i64, i64* %25, i32 1 | |
%t49 = load i64, i64* %26 | |
%27 = inttoptr i64 %t47 to void (i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%28 = inttoptr i64 %13 to i64* | |
%29 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%30 = getelementptr i64, i64* %29, i32 0 | |
%31 = load i64, i64* %30 | |
%32 = inttoptr i64 %t49 to i64* | |
notail call void %27(i64* %28, i64* %arg_function, i64* null, i64 %31, i32 0, i32 0, i64* null, i64* %32) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 8, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_System_Func_1_TResult_INST_System_Threading_CancellationToken(i64* %this, i64* %arg_function, i64 %arg_cancellationToken) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 9) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = icmp eq i64 %13, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %15 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%16 = load volatile i64, i64* %2 | |
%17 = inttoptr i64 %16 to i64* | |
%t42 = load i64, i64* %17 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 33) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %18 to i64 (i64, i64)* | |
%19 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%20 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t42, i64 %19) | |
%21 = inttoptr i64 %20 to i64* | |
%t47 = load i64, i64* %21 | |
%22 = inttoptr i64 %20 to i64* | |
%23 = getelementptr i64, i64* %22, i32 1 | |
%t49 = load i64, i64* %23 | |
%24 = inttoptr i64 %t47 to void (i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%25 = inttoptr i64 %13 to i64* | |
%26 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%27 = getelementptr i64, i64* %26, i32 0 | |
%28 = load i64, i64* %27 | |
%29 = inttoptr i64 %t49 to i64* | |
notail call void %24(i64* %25, i64* %arg_function, i64* null, i64 %28, i32 0, i32 0, i64* null, i64* %29) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 9, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_System_Func_1_TResult_INST_System_Threading_Tasks_TaskCreationOptions(i64* %this, i64* %arg_function, i32 %arg_creationOptions) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 10) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
br label %BB7 | |
BB7: ; preds = %BB2 | |
%t27 = and i32 %arg_creationOptions, 4 | |
%14 = icmp ne i32 %t27, 0 | |
br i1 %14, label %BB9, label %BB10 | |
BB9: ; preds = %BB7 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%15 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%16 = notail call i64 %15() | |
%17 = inttoptr i64 %16 to i64* | |
%18 = getelementptr i64, i64* %17, i32 12 | |
%t32 = load i64, i64* %18 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%19 = ptrtoint i64* %SFLDA_35 to i64 | |
%t80 = and i64 %19, 2147483647 | |
%t34 = and i64 %t80, 63 | |
%t81 = shl i64 %t34, 3 | |
%t82 = add i64 %t32, %t81 | |
%20 = inttoptr i64 %t82 to i64* | |
%t35 = load i64, i64* %20 | |
%21 = trunc i64 %t80 to i32 | |
%t36 = lshr i32 %21, 6 | |
%t83 = and i32 %t36, 33554431 | |
%22 = sext i32 %t83 to i64 | |
%t37 = add i64 %t35, %22 | |
%23 = inttoptr i64 %t37 to i64* | |
%t84 = load i64, i64* %23 | |
%24 = inttoptr i64 %t84 to i64* | |
br label %BB6 | |
BB10: ; preds = %BB7 | |
br label %BB6 | |
BB6: ; preds = %BB10, %BB9 | |
%25 = phi i64* [ null, %BB10 ], [ %24, %BB9 ] | |
%26 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %26, i8 0, i32 8, i32 0, i1 false) | |
%27 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%28 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %28, i8* %27, i32 8, i32 0, i1 false) | |
%29 = icmp eq i64 %13, 0 | |
br i1 %29, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB6 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %30 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB6 | |
%31 = load volatile i64, i64* %2 | |
%32 = inttoptr i64 %31 to i64* | |
%t61 = load i64, i64* %32 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 33) | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %33 to i64 (i64, i64)* | |
%34 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%35 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t61, i64 %34) | |
%36 = inttoptr i64 %35 to i64* | |
%t66 = load i64, i64* %36 | |
%37 = inttoptr i64 %35 to i64* | |
%38 = getelementptr i64, i64* %37, i32 1 | |
%t68 = load i64, i64* %38 | |
%39 = inttoptr i64 %t66 to void (i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%40 = inttoptr i64 %13 to i64* | |
%41 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%42 = getelementptr i64, i64* %41, i32 0 | |
%43 = load i64, i64* %42 | |
%44 = inttoptr i64 %t68 to i64* | |
notail call void %39(i64* %40, i64* %arg_function, i64* %25, i64 %43, i32 %arg_creationOptions, i32 0, i64* null, i64* %44) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 10, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_System_Func_1_TResult_INST_System_Threading_CancellationToken_System_Threading_Tasks_TaskCreationOptions(i64* %this, i64* %arg_function, i64 %arg_cancellationToken, i32 %arg_creationOptions) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 11) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
br label %BB7 | |
BB7: ; preds = %BB2 | |
%t27 = and i32 %arg_creationOptions, 4 | |
%14 = icmp ne i32 %t27, 0 | |
br i1 %14, label %BB9, label %BB10 | |
BB9: ; preds = %BB7 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%15 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%16 = notail call i64 %15() | |
%17 = inttoptr i64 %16 to i64* | |
%18 = getelementptr i64, i64* %17, i32 12 | |
%t32 = load i64, i64* %18 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%19 = ptrtoint i64* %SFLDA_35 to i64 | |
%t79 = and i64 %19, 2147483647 | |
%t34 = and i64 %t79, 63 | |
%t80 = shl i64 %t34, 3 | |
%t81 = add i64 %t32, %t80 | |
%20 = inttoptr i64 %t81 to i64* | |
%t35 = load i64, i64* %20 | |
%21 = trunc i64 %t79 to i32 | |
%t36 = lshr i32 %21, 6 | |
%t82 = and i32 %t36, 33554431 | |
%22 = sext i32 %t82 to i64 | |
%t37 = add i64 %t35, %22 | |
%23 = inttoptr i64 %t37 to i64* | |
%t83 = load i64, i64* %23 | |
%24 = inttoptr i64 %t83 to i64* | |
br label %BB6 | |
BB10: ; preds = %BB7 | |
br label %BB6 | |
BB6: ; preds = %BB10, %BB9 | |
%25 = phi i64* [ null, %BB10 ], [ %24, %BB9 ] | |
%26 = icmp eq i64 %13, 0 | |
br i1 %26, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB6 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %27 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB6 | |
%28 = load volatile i64, i64* %2 | |
%29 = inttoptr i64 %28 to i64* | |
%t61 = load i64, i64* %29 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 33) | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %30 to i64 (i64, i64)* | |
%31 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%32 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t61, i64 %31) | |
%33 = inttoptr i64 %32 to i64* | |
%t66 = load i64, i64* %33 | |
%34 = inttoptr i64 %32 to i64* | |
%35 = getelementptr i64, i64* %34, i32 1 | |
%t68 = load i64, i64* %35 | |
%36 = inttoptr i64 %t66 to void (i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%37 = inttoptr i64 %13 to i64* | |
%38 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%39 = getelementptr i64, i64* %38, i32 0 | |
%40 = load i64, i64* %39 | |
%41 = inttoptr i64 %t68 to i64* | |
notail call void %36(i64* %37, i64* %arg_function, i64* %25, i64 %40, i32 %arg_creationOptions, i32 0, i64* null, i64* %41) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 11, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_System_Func_2_object_TResult_INST_object(i64* %this, i64* %arg_function, i64* %arg_state) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 12) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %14, i8 0, i32 8, i32 0, i1 false) | |
%15 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%16 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* %15, i32 8, i32 0, i1 false) | |
%17 = icmp eq i64 %13, 0 | |
br i1 %17, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %18 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%19 = load volatile i64, i64* %2 | |
%20 = inttoptr i64 %19 to i64* | |
%t45 = load i64, i64* %20 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 36) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %21 to i64 (i64, i64)* | |
%22 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%23 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t45, i64 %22) | |
%24 = inttoptr i64 %23 to i64* | |
%t50 = load i64, i64* %24 | |
%25 = inttoptr i64 %23 to i64* | |
%26 = getelementptr i64, i64* %25, i32 1 | |
%t52 = load i64, i64* %26 | |
%27 = inttoptr i64 %t50 to void (i64*, i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%28 = inttoptr i64 %13 to i64* | |
%29 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%30 = getelementptr i64, i64* %29, i32 0 | |
%31 = load i64, i64* %30 | |
%32 = inttoptr i64 %t52 to i64* | |
notail call void %27(i64* %28, i64* %arg_function, i64* %arg_state, i64* null, i64 %31, i32 0, i32 0, i64* null, i64* %32) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 12, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_System_Func_2_object_TResult_INST_object_System_Threading_CancellationToken(i64* %this, i64* %arg_function, i64* %arg_state, i64 %arg_cancellationToken) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 13) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = icmp eq i64 %13, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %15 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%16 = load volatile i64, i64* %2 | |
%17 = inttoptr i64 %16 to i64* | |
%t45 = load i64, i64* %17 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 36) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %18 to i64 (i64, i64)* | |
%19 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%20 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t45, i64 %19) | |
%21 = inttoptr i64 %20 to i64* | |
%t50 = load i64, i64* %21 | |
%22 = inttoptr i64 %20 to i64* | |
%23 = getelementptr i64, i64* %22, i32 1 | |
%t52 = load i64, i64* %23 | |
%24 = inttoptr i64 %t50 to void (i64*, i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%25 = inttoptr i64 %13 to i64* | |
%26 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%27 = getelementptr i64, i64* %26, i32 0 | |
%28 = load i64, i64* %27 | |
%29 = inttoptr i64 %t52 to i64* | |
notail call void %24(i64* %25, i64* %arg_function, i64* %arg_state, i64* null, i64 %28, i32 0, i32 0, i64* null, i64* %29) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 13, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_System_Func_2_object_TResult_INST_object_System_Threading_Tasks_TaskCreationOptions(i64* %this, i64* %arg_function, i64* %arg_state, i32 %arg_creationOptions) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 14) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
br label %BB7 | |
BB7: ; preds = %BB2 | |
%t29 = and i32 %arg_creationOptions, 4 | |
%14 = icmp ne i32 %t29, 0 | |
br i1 %14, label %BB9, label %BB10 | |
BB9: ; preds = %BB7 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%15 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%16 = notail call i64 %15() | |
%17 = inttoptr i64 %16 to i64* | |
%18 = getelementptr i64, i64* %17, i32 12 | |
%t34 = load i64, i64* %18 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%19 = ptrtoint i64* %SFLDA_35 to i64 | |
%t84 = and i64 %19, 2147483647 | |
%t36 = and i64 %t84, 63 | |
%t85 = shl i64 %t36, 3 | |
%t86 = add i64 %t34, %t85 | |
%20 = inttoptr i64 %t86 to i64* | |
%t37 = load i64, i64* %20 | |
%21 = trunc i64 %t84 to i32 | |
%t38 = lshr i32 %21, 6 | |
%t87 = and i32 %t38, 33554431 | |
%22 = sext i32 %t87 to i64 | |
%t39 = add i64 %t37, %22 | |
%23 = inttoptr i64 %t39 to i64* | |
%t88 = load i64, i64* %23 | |
%24 = inttoptr i64 %t88 to i64* | |
br label %BB6 | |
BB10: ; preds = %BB7 | |
br label %BB6 | |
BB6: ; preds = %BB10, %BB9 | |
%25 = phi i64* [ null, %BB10 ], [ %24, %BB9 ] | |
%26 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %26, i8 0, i32 8, i32 0, i1 false) | |
%27 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%28 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %28, i8* %27, i32 8, i32 0, i1 false) | |
%29 = icmp eq i64 %13, 0 | |
br i1 %29, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB6 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %30 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB6 | |
%31 = load volatile i64, i64* %2 | |
%32 = inttoptr i64 %31 to i64* | |
%t64 = load i64, i64* %32 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 36) | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %33 to i64 (i64, i64)* | |
%34 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%35 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t64, i64 %34) | |
%36 = inttoptr i64 %35 to i64* | |
%t69 = load i64, i64* %36 | |
%37 = inttoptr i64 %35 to i64* | |
%38 = getelementptr i64, i64* %37, i32 1 | |
%t71 = load i64, i64* %38 | |
%39 = inttoptr i64 %t69 to void (i64*, i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%40 = inttoptr i64 %13 to i64* | |
%41 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%42 = getelementptr i64, i64* %41, i32 0 | |
%43 = load i64, i64* %42 | |
%44 = inttoptr i64 %t71 to i64* | |
notail call void %39(i64* %40, i64* %arg_function, i64* %arg_state, i64* %25, i64 %43, i32 %arg_creationOptions, i32 0, i64* null, i64* %44) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 14, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_System_Func_2_object_TResult_INST_object_System_Threading_CancellationToken_System_Threading_Tasks_TaskCreationOptions(i64* %this, i64* %arg_function, i64* %arg_state, i64 %arg_cancellationToken, i32 %arg_creationOptions) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 15) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
br label %BB7 | |
BB7: ; preds = %BB2 | |
%t29 = and i32 %arg_creationOptions, 4 | |
%14 = icmp ne i32 %t29, 0 | |
br i1 %14, label %BB9, label %BB10 | |
BB9: ; preds = %BB7 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%15 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%16 = notail call i64 %15() | |
%17 = inttoptr i64 %16 to i64* | |
%18 = getelementptr i64, i64* %17, i32 12 | |
%t34 = load i64, i64* %18 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%19 = ptrtoint i64* %SFLDA_35 to i64 | |
%t83 = and i64 %19, 2147483647 | |
%t36 = and i64 %t83, 63 | |
%t84 = shl i64 %t36, 3 | |
%t85 = add i64 %t34, %t84 | |
%20 = inttoptr i64 %t85 to i64* | |
%t37 = load i64, i64* %20 | |
%21 = trunc i64 %t83 to i32 | |
%t38 = lshr i32 %21, 6 | |
%t86 = and i32 %t38, 33554431 | |
%22 = sext i32 %t86 to i64 | |
%t39 = add i64 %t37, %22 | |
%23 = inttoptr i64 %t39 to i64* | |
%t87 = load i64, i64* %23 | |
%24 = inttoptr i64 %t87 to i64* | |
br label %BB6 | |
BB10: ; preds = %BB7 | |
br label %BB6 | |
BB6: ; preds = %BB10, %BB9 | |
%25 = phi i64* [ null, %BB10 ], [ %24, %BB9 ] | |
%26 = icmp eq i64 %13, 0 | |
br i1 %26, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB6 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %27 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB6 | |
%28 = load volatile i64, i64* %2 | |
%29 = inttoptr i64 %28 to i64* | |
%t64 = load i64, i64* %29 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 36) | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %30 to i64 (i64, i64)* | |
%31 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%32 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t64, i64 %31) | |
%33 = inttoptr i64 %32 to i64* | |
%t69 = load i64, i64* %33 | |
%34 = inttoptr i64 %32 to i64* | |
%35 = getelementptr i64, i64* %34, i32 1 | |
%t71 = load i64, i64* %35 | |
%36 = inttoptr i64 %t69 to void (i64*, i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%37 = inttoptr i64 %13 to i64* | |
%38 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%39 = getelementptr i64, i64* %38, i32 0 | |
%40 = load i64, i64* %39 | |
%41 = inttoptr i64 %t71 to i64* | |
notail call void %36(i64* %37, i64* %arg_function, i64* %arg_state, i64* %25, i64 %40, i32 %arg_creationOptions, i32 0, i64* null, i64* %41) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 15, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_System_Func_1_TResult_INST_System_Threading_Tasks_Task_System_Threading_CancellationToken_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_InternalTaskOptions_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_valueSelector, i64* %arg_parent, i64 %arg_cancellationToken, i32 %arg_creationOptions, i32 %arg_internalOptions, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 16) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 37) | |
%METHOD_37 = bitcast i64* %14 to void (i64*, i64*, i64*, i64*, i64, i32, i32, i64*)* | |
%15 = inttoptr i64 %13 to i64* | |
%16 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%17 = getelementptr i64, i64* %16, i32 0 | |
%18 = load i64, i64* %17 | |
notail call void %METHOD_37(i64* %15, i64* %arg_valueSelector, i64* null, i64* %arg_parent, i64 %18, i32 %arg_creationOptions, i32 %arg_internalOptions, i64* %arg_scheduler) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 16, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST__ctor_System_Delegate_object_System_Threading_Tasks_Task_System_Threading_CancellationToken_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_InternalTaskOptions_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_valueSelector, i64* %arg_state, i64* %arg_parent, i64 %arg_cancellationToken, i32 %arg_creationOptions, i32 %arg_internalOptions, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 17) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 37) | |
%METHOD_37 = bitcast i64* %14 to void (i64*, i64*, i64*, i64*, i64, i32, i32, i64*)* | |
%15 = inttoptr i64 %13 to i64* | |
%16 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%17 = getelementptr i64, i64* %16, i32 0 | |
%18 = load i64, i64* %17 | |
notail call void %METHOD_37(i64* %15, i64* %arg_valueSelector, i64* %arg_state, i64* %arg_parent, i64 %18, i32 %arg_creationOptions, i32 %arg_internalOptions, i64* %arg_scheduler) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 17, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_StartNew_System_Threading_Tasks_Task_System_Func_1_TResult_INST_System_Threading_CancellationToken_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_InternalTaskOptions_System_Threading_Tasks_TaskScheduler(i64* %arg_parent, i64* %arg_function, i64 %arg_cancellationToken, i32 %arg_creationOptions, i32 %arg_internalOptions, i64* %arg_scheduler, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i64, align 8, !mono.this !0 | |
%2 = alloca %System.Threading.CancellationToken, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %5, i64* %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 18) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%12 = ptrtoint i64* %arg_function to i64 | |
%13 = icmp ne i64 %12, 0 | |
br i1 %13, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%14 = ptrtoint i64* %arg_scheduler to i64 | |
%15 = icmp ne i64 %14, 0 | |
br i1 %15, label %BB6, label %BB7 | |
BB5: ; preds = %BB2 | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib2 = bitcast i64* %16 to i64* (i64)* | |
%17 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib2(i64 82508) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_13 = bitcast i64* %18 to i64* (i64, i64*)* | |
%19 = notail call i64* %jit_icall_mono_create_corlib_exception_13(i64 33554603, i64* %17) | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_414 = bitcast i64* %20 to void (i64*)* | |
call void %JIT_ICALL_ADDR_414(i64* %19) | |
unreachable | |
BB6: ; preds = %BB4 | |
%t46 = or i32 %arg_internalOptions, 8192 | |
%21 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 38) | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %22 to i64 (i64, i64)* | |
%23 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%24 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %21, i64 %23) | |
%25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %25 to i64* (i64, i64)* | |
%26 = notail call i64* %METHOD_27(i64 %24, i64 80) | |
%27 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 33) | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %28 to i64 (i64, i64)* | |
%29 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%30 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %27, i64 %29) | |
%31 = inttoptr i64 %30 to i64* | |
%t62 = load i64, i64* %31 | |
%32 = inttoptr i64 %30 to i64* | |
%33 = getelementptr i64, i64* %32, i32 1 | |
%t64 = load i64, i64* %33 | |
%34 = inttoptr i64 %t62 to void (i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%35 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%36 = getelementptr i64, i64* %35, i32 0 | |
%37 = load i64, i64* %36 | |
%38 = inttoptr i64 %t64 to i64* | |
notail call void %34(i64* %26, i64* %arg_function, i64* %arg_parent, i64 %37, i32 %arg_creationOptions, i32 %t46, i64* %arg_scheduler, i64* %38) | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 39) | |
%METHOD_39 = bitcast i64* %39 to void (i64*, i8)* | |
notail call void %METHOD_39(i64* %26, i8 0) | |
br label %BB1 | |
BB7: ; preds = %BB4 | |
%40 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %40 to i64* (i64)* | |
%41 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82526) | |
%42 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %42 to i64* (i64, i64*)* | |
%43 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %41) | |
%44 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %44 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %43) | |
unreachable | |
BB1: ; preds = %BB6 | |
%45 = phi i64* [ %26, %BB6 ] | |
ret i64* %45 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
%46 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 18, i64 %46) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_StartNew_System_Threading_Tasks_Task_System_Func_2_object_TResult_INST_object_System_Threading_CancellationToken_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_InternalTaskOptions_System_Threading_Tasks_TaskScheduler(i64* %arg_parent, i64* %arg_function, i64* %arg_state, i64 %arg_cancellationToken, i32 %arg_creationOptions, i32 %arg_internalOptions, i64* %arg_scheduler, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i64, align 8, !mono.this !0 | |
%2 = alloca %System.Threading.CancellationToken, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %5, i64* %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 19) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%12 = ptrtoint i64* %arg_function to i64 | |
%13 = icmp ne i64 %12, 0 | |
br i1 %13, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%14 = ptrtoint i64* %arg_scheduler to i64 | |
%15 = icmp ne i64 %14, 0 | |
br i1 %15, label %BB6, label %BB7 | |
BB5: ; preds = %BB2 | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib2 = bitcast i64* %16 to i64* (i64)* | |
%17 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib2(i64 82508) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_13 = bitcast i64* %18 to i64* (i64, i64*)* | |
%19 = notail call i64* %jit_icall_mono_create_corlib_exception_13(i64 33554603, i64* %17) | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_414 = bitcast i64* %20 to void (i64*)* | |
call void %JIT_ICALL_ADDR_414(i64* %19) | |
unreachable | |
BB6: ; preds = %BB4 | |
%t48 = or i32 %arg_internalOptions, 8192 | |
%21 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 38) | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %22 to i64 (i64, i64)* | |
%23 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%24 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %21, i64 %23) | |
%25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %25 to i64* (i64, i64)* | |
%26 = notail call i64* %METHOD_27(i64 %24, i64 80) | |
%27 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 36) | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %28 to i64 (i64, i64)* | |
%29 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%30 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %27, i64 %29) | |
%31 = inttoptr i64 %30 to i64* | |
%t64 = load i64, i64* %31 | |
%32 = inttoptr i64 %30 to i64* | |
%33 = getelementptr i64, i64* %32, i32 1 | |
%t66 = load i64, i64* %33 | |
%34 = inttoptr i64 %t64 to void (i64*, i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%35 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%36 = getelementptr i64, i64* %35, i32 0 | |
%37 = load i64, i64* %36 | |
%38 = inttoptr i64 %t66 to i64* | |
notail call void %34(i64* %26, i64* %arg_function, i64* %arg_state, i64* %arg_parent, i64 %37, i32 %arg_creationOptions, i32 %t48, i64* %arg_scheduler, i64* %38) | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 39) | |
%METHOD_39 = bitcast i64* %39 to void (i64*, i8)* | |
notail call void %METHOD_39(i64* %26, i8 0) | |
br label %BB1 | |
BB7: ; preds = %BB4 | |
%40 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %40 to i64* (i64)* | |
%41 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82526) | |
%42 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %42 to i64* (i64, i64*)* | |
%43 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %41) | |
%44 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %44 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %43) | |
unreachable | |
BB1: ; preds = %BB6 | |
%45 = phi i64* [ %26, %BB6 ] | |
ret i64* %45 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
%46 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 19, i64 %46) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_get_DebuggerDisplayResultDescription(i64* %this) #5 { | |
BB0: | |
%0 = alloca %"OneThing`1<T1_INT>", align 4 | |
%1 = alloca i64, align 8 | |
%2 = ptrtoint i64* %this to i64 | |
store i64 %2, i64* %1 | |
%3 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %3 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 20) | |
%4 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%5 = icmp eq i8 %4, 0 | |
br i1 %5, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%6 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%7 = icmp eq i64 %6, 0 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %9 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%10 = load volatile i64, i64* %1 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 42) | |
%METHOD_42 = bitcast i64* %11 to i8 (i64*)* | |
%12 = inttoptr i64 %10 to i64* | |
%13 = notail call i8 %METHOD_42(i64* %12) | |
%14 = zext i8 %13 to i32 | |
%15 = trunc i32 %14 to i8 | |
%t21 = zext i8 %15 to i32 | |
%16 = icmp ne i32 %t21, 0 | |
br i1 %16, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%17 = load volatile i64, i64* %1 | |
%18 = icmp eq i64 %17, 0 | |
br i1 %18, label %EX_BB5, label %NOEX_BB7 | |
BB5: ; preds = %BB2 | |
%LDSTR_45 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 45) | |
br label %BB1 | |
EX_BB5: ; preds = %BB4 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %19 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB4 | |
%20 = add i64 %17, 72 | |
%21 = inttoptr i64 %20 to i8* | |
%22 = bitcast %"OneThing`1<T1_INT>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %22, i8* %21, i32 4, i32 0, i1 false) | |
%23 = load volatile i64, i64* %1 | |
%24 = inttoptr i64 %23 to i64* | |
%t26 = load i64, i64* %24 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 43) | |
%25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %25 to i64 (i64, i64)* | |
%26 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%27 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t26, i64 %26) | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %28 to i64* (i64, i64)* | |
%29 = notail call i64* %METHOD_27(i64 %27, i64 24) | |
%30 = ptrtoint i64* %29 to i64 | |
%t63 = add i64 %30, 16 | |
%31 = bitcast %"OneThing`1<T1_INT>"* %0 to i32* | |
%t64 = load i32, i32* %31 | |
%32 = inttoptr i64 %t63 to i32* | |
%33 = getelementptr i32, i32* %32, i32 0 | |
store i32 %t64, i32* %33 | |
br label %BB9 | |
BB9: ; preds = %NOEX_BB7 | |
%34 = ptrtoint i64* %29 to i64 | |
%35 = icmp ne i64 %34, 0 | |
br i1 %35, label %BB11, label %BB12 | |
BB11: ; preds = %BB9 | |
%36 = icmp eq i64* %29, null | |
br i1 %36, label %EX_BB9, label %NOEX_BB11 | |
BB12: ; preds = %BB9 | |
%SFLDA_44 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 44) | |
%t35 = load i64, i64* %SFLDA_44 | |
%37 = inttoptr i64 %t35 to i64* | |
br label %BB8 | |
EX_BB9: ; preds = %BB11 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%38 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %38 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %BB11 | |
%t44 = load i64, i64* %29 | |
%39 = inttoptr i64 %t44 to i64* | |
%40 = getelementptr i64, i64* %39, i32 9 | |
%t41 = load i64, i64* %40 | |
%41 = icmp ne i64 %t41, 0 | |
%42 = call i1 @llvm.expect.i1(i1 %41, i1 true) | |
br i1 %42, label %BB13, label %BB14 | |
BB13: ; preds = %BB14, %NOEX_BB11 | |
%43 = phi i64 [ %t41, %NOEX_BB11 ], [ %51, %BB14 ] | |
%44 = inttoptr i64 %43 to i64* | |
%t42 = load i64, i64* %44 | |
%45 = inttoptr i64 %43 to i64* | |
%46 = getelementptr i64, i64* %45, i32 1 | |
%t49 = load i64, i64* %46 | |
%47 = inttoptr i64 %t42 to i64* (i64*, i64*)* | |
%48 = inttoptr i64 %t49 to i64* | |
%49 = notail call i64* %47(i64* %29, i64* %48) | |
br label %BB8 | |
BB14: ; preds = %NOEX_BB11 | |
%50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %50 to i64 (i64, i64)* | |
%51 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t44, i64 0) | |
br label %BB13 | |
BB8: ; preds = %BB13, %BB12 | |
%52 = phi i64* [ %37, %BB12 ], [ %49, %BB13 ] | |
br label %BB1 | |
BB1: ; preds = %BB8, %BB5 | |
%53 = phi i64* [ %LDSTR_45, %BB5 ], [ %52, %BB8 ] | |
ret i64* %53 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 20, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_get_DebuggerDisplayMethodDescription(i64* %this) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = alloca i64, align 8 | |
%2 = ptrtoint i64* %this to i64 | |
store i64 %2, i64* %1 | |
%3 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %3 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 21) | |
%4 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%5 = icmp eq i8 %4, 0 | |
br i1 %5, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%6 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%7 = icmp eq i64 %6, 0 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %9 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
store i64 0, i64* %0 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%10 = load volatile i64, i64* %1 | |
%11 = icmp eq i64 %10, 0 | |
br i1 %11, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %12 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%13 = inttoptr i64 %10 to i64* | |
%14 = getelementptr i64, i64* %13, i32 2 | |
%t18 = load volatile i64, i64* %14 | |
%15 = icmp ne i64 %t18, 0 | |
br i1 %15, label %BB4, label %BB5 | |
BB4: ; preds = %NOEX_BB7 | |
%16 = icmp eq i64 %t18, 0 | |
br i1 %16, label %EX_BB9, label %NOEX_BB11 | |
BB5: ; preds = %NOEX_BB7 | |
%LDSTR_50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 50) | |
br label %BB1 | |
EX_BB9: ; preds = %BB4 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %BB4 | |
%18 = inttoptr i64 %t18 to i64* | |
%19 = getelementptr i64, i64* %18, i32 2 | |
%t19 = load volatile i64, i64* %19 | |
store i64 %t19, i64* %0 | |
%LDSTR_46 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 46) | |
%LDSTR_47 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 47) | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 48) | |
%METHOD_48 = bitcast i64* %20 to i64* (i64*, i64*)* | |
%21 = notail call i64* %METHOD_48(i64* %0, i64* %LDSTR_47) | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 49) | |
%METHOD_49 = bitcast i64* %22 to i64* (i64*, i64*)* | |
%23 = notail call i64* %METHOD_49(i64* %LDSTR_46, i64* %21) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11, %BB5 | |
%24 = phi i64* [ %LDSTR_50, %BB5 ], [ %23, %NOEX_BB11 ] | |
ret i64* %24 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 21, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i8 @System_Threading_Tasks_Task_1_TResult_INST_TrySetResult_TResult_INST(i64* %this, i64 %arg_result) #5 { | |
BB0: | |
%0 = alloca %"OneThing`1<T1_INT>", align 1 | |
%1 = alloca %"OneThing`1<T1_INT>", align 4 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %"OneThing`1<T1_INT>"* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_result, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 22) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB29, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB29, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = icmp eq i64 %13, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %15 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%16 = inttoptr i64 %13 to i32* | |
%17 = getelementptr i32, i32* %16, i32 17 | |
%t24 = load volatile i32, i32* %17 | |
fence acquire | |
fence acquire | |
%t29 = and i32 %t24, 23068672 | |
%18 = icmp ugt i32 %t29, 0 | |
%t32 = zext i1 %18 to i32 | |
%19 = trunc i32 %t32 to i8 | |
%t34 = zext i8 %19 to i32 | |
%20 = trunc i32 %t34 to i8 | |
%t35 = zext i8 %20 to i32 | |
%21 = icmp eq i32 %t35, 0 | |
br i1 %21, label %BB4, label %BB5 | |
BB4: ; preds = %NOEX_BB7 | |
%22 = load volatile i64, i64* %2 | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 51) | |
%METHOD_51 = bitcast i64* %23 to i8 (i64*, i32, i32)* | |
%24 = inttoptr i64 %22 to i64* | |
%25 = notail call i8 %METHOD_51(i64* %24, i32 67108864, i32 90177536) | |
%26 = zext i8 %25 to i32 | |
%27 = trunc i32 %26 to i8 | |
%t44 = zext i8 %27 to i32 | |
%28 = icmp eq i32 %t44, 0 | |
br i1 %28, label %BB6, label %BB7 | |
BB5: ; preds = %NOEX_BB7 | |
br label %BB1 | |
BB6: ; preds = %BB4 | |
br label %BB1 | |
BB7: ; preds = %BB4 | |
%29 = load volatile i64, i64* %2 | |
%30 = icmp eq i64 %29, 0 | |
br i1 %30, label %EX_BB9, label %NOEX_BB11 | |
BB1: ; preds = %BB8, %BB6, %BB5 | |
%31 = phi i32 [ 0, %BB5 ], [ 1, %BB8 ], [ 0, %BB6 ] | |
%32 = trunc i32 %31 to i8 | |
ret i8 %32 | |
EX_BB9: ; preds = %BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %33 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %BB7 | |
%t80 = add i64 %29, 72 | |
%34 = bitcast %"OneThing`1<T1_INT>"* %0 to i32* | |
%t81 = load i32, i32* %34 | |
%35 = inttoptr i64 %t80 to i32* | |
%36 = getelementptr i32, i32* %35, i32 0 | |
store i32 %t81, i32* %36 | |
%37 = load volatile i64, i64* %2 | |
%38 = icmp eq i64 %37, 0 | |
br i1 %38, label %EX_BB13, label %NOEX_BB15 | |
EX_BB13: ; preds = %NOEX_BB11 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_222() | |
unreachable | |
NOEX_BB15: ; preds = %NOEX_BB11 | |
%t48 = add i64 %37, 68 | |
%40 = load volatile i64, i64* %2 | |
%41 = icmp eq i64 %40, 0 | |
br i1 %41, label %EX_BB17, label %NOEX_BB19 | |
EX_BB17: ; preds = %NOEX_BB15 | |
br label %EX2_BB18 | |
EX2_BB18: ; preds = %EX_BB17 | |
%42 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %42 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB19: ; preds = %NOEX_BB15 | |
%43 = inttoptr i64 %40 to i32* | |
%44 = getelementptr i32, i32* %43, i32 17 | |
%t50 = load volatile i32, i32* %44 | |
fence acquire | |
fence acquire | |
%t52 = or i32 %t50, 16777216 | |
%45 = inttoptr i64 %t48 to i32* | |
%46 = atomicrmw xchg i32* %45, i32 %t52 seq_cst | |
%47 = load volatile i64, i64* %2 | |
%48 = icmp eq i64 %47, 0 | |
br i1 %48, label %EX_BB21, label %NOEX_BB23 | |
EX_BB21: ; preds = %NOEX_BB19 | |
br label %EX2_BB22 | |
EX2_BB22: ; preds = %EX_BB21 | |
%49 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %49 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB23: ; preds = %NOEX_BB19 | |
%50 = inttoptr i64 %47 to i64* | |
%51 = getelementptr i64, i64* %50, i32 7 | |
%t55 = load volatile i64, i64* %51 | |
fence acquire | |
fence acquire | |
%52 = icmp eq i64 %t55, 0 | |
br i1 %52, label %BB8, label %BB9 | |
BB8: ; preds = %NOEX_BB27, %NOEX_BB23 | |
%53 = load volatile i64, i64* %2 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 52) | |
%METHOD_52 = bitcast i64* %54 to void (i64*)* | |
%55 = inttoptr i64 %53 to i64* | |
notail call void %METHOD_52(i64* %55) | |
br label %BB1 | |
BB9: ; preds = %NOEX_BB23 | |
%56 = icmp eq i64 %t55, 0 | |
br i1 %56, label %EX_BB25, label %NOEX_BB27 | |
EX_BB25: ; preds = %BB9 | |
br label %EX2_BB26 | |
EX2_BB26: ; preds = %EX_BB25 | |
%57 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %57 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB27: ; preds = %BB9 | |
%58 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 53) | |
%METHOD_53 = bitcast i64* %58 to void (i64*)* | |
%59 = inttoptr i64 %t55 to i64* | |
notail call void %METHOD_53(i64* %59) | |
br label %BB8 | |
NOTINITED_BB29: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 22, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST_DangerousSetResult_TResult_INST(i64* %this, i64 %arg_result) #5 { | |
BB0: | |
%0 = alloca %"OneThing`1<T1_INT>", align 1 | |
%1 = alloca %"OneThing`1<T1_INT>", align 4 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %"OneThing`1<T1_INT>"* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_result, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 23) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB25, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB25, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = icmp eq i64 %13, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %15 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%16 = inttoptr i64 %13 to i64* | |
%17 = getelementptr i64, i64* %16, i32 5 | |
%t19 = load volatile i64, i64* %17 | |
%18 = icmp eq i64 %t19, 0 | |
br i1 %18, label %BB4, label %BB5 | |
BB4: ; preds = %NOEX_BB7 | |
%19 = load volatile i64, i64* %2 | |
%20 = icmp eq i64 %19, 0 | |
br i1 %20, label %EX_BB9, label %NOEX_BB11 | |
BB5: ; preds = %NOEX_BB7 | |
%21 = load volatile i64, i64* %2 | |
%22 = icmp eq i64 %21, 0 | |
br i1 %22, label %EX_BB21, label %NOEX_BB23 | |
EX_BB9: ; preds = %BB4 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %23 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %BB4 | |
%t45 = add i64 %19, 72 | |
%24 = bitcast %"OneThing`1<T1_INT>"* %0 to i32* | |
%t46 = load i32, i32* %24 | |
%25 = inttoptr i64 %t45 to i32* | |
%26 = getelementptr i32, i32* %25, i32 0 | |
store i32 %t46, i32* %26 | |
%27 = load volatile i64, i64* %2 | |
%28 = load volatile i64, i64* %2 | |
%29 = icmp eq i64 %28, 0 | |
br i1 %29, label %EX_BB13, label %NOEX_BB15 | |
EX_BB13: ; preds = %NOEX_BB11 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %30 to void ()* | |
call void %JIT_ICALL_ADDR_222() | |
unreachable | |
NOEX_BB15: ; preds = %NOEX_BB11 | |
%31 = inttoptr i64 %28 to i32* | |
%32 = getelementptr i32, i32* %31, i32 17 | |
%t40 = load volatile i32, i32* %32 | |
fence acquire | |
fence acquire | |
%t42 = or i32 %t40, 16777216 | |
%33 = icmp eq i64 %27, 0 | |
br i1 %33, label %EX_BB17, label %NOEX_BB19 | |
EX_BB17: ; preds = %NOEX_BB15 | |
br label %EX2_BB18 | |
EX2_BB18: ; preds = %EX_BB17 | |
%34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %34 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB19: ; preds = %NOEX_BB15 | |
fence release | |
%35 = inttoptr i64 %27 to i32* | |
%36 = getelementptr i32, i32* %35, i32 17 | |
store volatile i32 %t42, i32* %36 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB23, %NOEX_BB19 | |
ret void | |
EX_BB21: ; preds = %BB5 | |
br label %EX2_BB22 | |
EX2_BB22: ; preds = %EX_BB21 | |
%37 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %37 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB23: ; preds = %BB5 | |
%38 = load volatile i64, i64* %2 | |
%39 = inttoptr i64 %38 to i64* | |
%t23 = load i64, i64* %39 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 54) | |
%40 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %40 to i64 (i64, i64)* | |
%41 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%42 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t23, i64 %41) | |
%43 = inttoptr i64 %42 to i64* | |
%t28 = load i64, i64* %43 | |
%44 = inttoptr i64 %42 to i64* | |
%45 = getelementptr i64, i64* %44, i32 1 | |
%t30 = load i64, i64* %45 | |
%46 = inttoptr i64 %t28 to i8 (i64*, i64, i64*)* | |
%47 = inttoptr i64 %21 to i64* | |
%48 = bitcast %"OneThing`1<T1_INT>"* %0 to i64* | |
%49 = getelementptr i64, i64* %48, i32 0 | |
%50 = load i64, i64* %49 | |
%51 = inttoptr i64 %t30 to i64* | |
%52 = notail call i8 %46(i64* %47, i64 %50, i64* %51) | |
%53 = zext i8 %52 to i32 | |
br label %BB1 | |
NOTINITED_BB25: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 23, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal { i64 } @System_Threading_Tasks_Task_1_TResult_INST_get_Result(i64* %this) #5 { | |
BB0: | |
%0 = alloca %"OneThing`1<T1_INT>", align 4 | |
%1 = alloca %"OneThing`1<T1_INT>", align 4 | |
%2 = alloca i64, align 8 | |
%3 = alloca %"OneThing`1<T1_INT>", align 4 | |
%4 = ptrtoint i64* %this to i64 | |
store i64 %4, i64* %2 | |
%5 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %5 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 24) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB17, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB17, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%12 = load volatile i64, i64* %2 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %14 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%15 = inttoptr i64 %12 to i32* | |
%16 = getelementptr i32, i32* %15, i32 17 | |
%t22 = load volatile i32, i32* %16 | |
fence acquire | |
fence acquire | |
%t24 = and i32 %t22, 285212672 | |
%17 = icmp eq i32 %t24, 16777216 | |
%t26 = zext i1 %17 to i32 | |
%18 = icmp eq i32 %t26, 0 | |
%t29 = zext i1 %18 to i32 | |
%19 = trunc i32 %t29 to i8 | |
%t30 = zext i8 %19 to i32 | |
%20 = icmp ne i32 %t30, 0 | |
br i1 %20, label %BB4, label %BB5 | |
BB4: ; preds = %NOEX_BB7 | |
%21 = load volatile i64, i64* %2 | |
%22 = icmp eq i64 %21, 0 | |
br i1 %22, label %EX_BB9, label %NOEX_BB11 | |
BB5: ; preds = %NOEX_BB7 | |
%23 = load volatile i64, i64* %2 | |
%24 = icmp eq i64 %23, 0 | |
br i1 %24, label %EX_BB13, label %NOEX_BB15 | |
EX_BB9: ; preds = %BB4 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %25 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %BB4 | |
%26 = load volatile i64, i64* %2 | |
%27 = inttoptr i64 %26 to i64* | |
%t36 = load i64, i64* %27 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 55) | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %28 to i64 (i64, i64)* | |
%29 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%30 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t36, i64 %29) | |
%31 = inttoptr i64 %30 to i64* | |
%t41 = load i64, i64* %31 | |
%32 = inttoptr i64 %30 to i64* | |
%33 = getelementptr i64, i64* %32, i32 1 | |
%t43 = load i64, i64* %33 | |
%34 = inttoptr i64 %t41 to { i64 } (i64*, i8, i64*)* | |
%35 = inttoptr i64 %21 to i64* | |
%36 = inttoptr i64 %t43 to i64* | |
%37 = notail call { i64 } %34(i64* %35, i8 1, i64* %36) | |
%38 = extractvalue { i64 } %37, 0 | |
%39 = bitcast %"OneThing`1<T1_INT>"* %0 to i64* | |
%40 = getelementptr i64, i64* %39, i32 0 | |
store i64 %38, i64* %40 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB15, %NOEX_BB11 | |
%41 = phi %"OneThing`1<T1_INT>"* [ %1, %NOEX_BB15 ], [ %0, %NOEX_BB11 ] | |
%42 = bitcast %"OneThing`1<T1_INT>"* %41 to { i64 }* | |
%43 = getelementptr { i64 }, { i64 }* %42, i32 0, i32 0 | |
%44 = load i64, i64* %43 | |
%45 = insertvalue { i64 } undef, i64 %44, 0 | |
ret { i64 } %45 | |
EX_BB13: ; preds = %BB5 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%46 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %46 to void ()* | |
call void %JIT_ICALL_ADDR_222() | |
unreachable | |
NOEX_BB15: ; preds = %BB5 | |
%47 = add i64 %23, 72 | |
%48 = inttoptr i64 %47 to i8* | |
%49 = bitcast %"OneThing`1<T1_INT>"* %1 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %49, i8* %48, i32 4, i32 0, i1 false) | |
br label %BB1 | |
NOTINITED_BB17: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 24, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal { i64 } @System_Threading_Tasks_Task_1_TResult_INST_get_ResultOnSuccess(i64* %this) #5 { | |
BB0: | |
%0 = alloca %"OneThing`1<T1_INT>", align 4 | |
%1 = alloca i64, align 8 | |
%2 = alloca %"OneThing`1<T1_INT>", align 4 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %1 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 25) | |
%5 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%6 = icmp eq i8 %5, 0 | |
br i1 %6, label %NOTINITED_BB7, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB7, %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%7 = load volatile i64, i64* %1 | |
%8 = icmp eq i64 %7, 0 | |
br i1 %8, label %EX_BB3, label %NOEX_BB5 | |
EX_BB3: ; preds = %BB2 | |
br label %EX2_BB4 | |
EX2_BB4: ; preds = %EX_BB3 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %9 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB5: ; preds = %BB2 | |
%10 = add i64 %7, 72 | |
%11 = inttoptr i64 %10 to i8* | |
%12 = bitcast %"OneThing`1<T1_INT>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %12, i8* %11, i32 4, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB5 | |
%13 = bitcast %"OneThing`1<T1_INT>"* %0 to { i64 }* | |
%14 = getelementptr { i64 }, { i64 }* %13, i32 0, i32 0 | |
%15 = load i64, i64* %14 | |
%16 = insertvalue { i64 } undef, i64 %15, 0 | |
ret { i64 } %16 | |
NOTINITED_BB7: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 25, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal { i64 } @System_Threading_Tasks_Task_1_TResult_INST_GetResultCore_bool(i64* %this, i8 %arg_waitCompletionNotification) #5 { | |
BB0: | |
%0 = alloca %"OneThing`1<T1_INT>", align 4 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca %System.Threading.CancellationToken, align 8 | |
%3 = alloca i64, align 8 | |
%4 = alloca %"OneThing`1<T1_INT>", align 4 | |
%5 = zext i8 %arg_waitCompletionNotification to i32 | |
%6 = ptrtoint i64* %this to i64 | |
store i64 %6, i64* %3 | |
%7 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %7 | |
%8 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 26) | |
%9 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%10 = icmp eq i8 %9, 0 | |
br i1 %10, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%11 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%12 = icmp eq i64 %11, 0 | |
%13 = call i1 @llvm.expect.i1(i1 %12, i1 true) | |
br i1 %13, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %14 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%15 = bitcast %System.Threading.CancellationToken* %2 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %15, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%16 = load volatile i64, i64* %3 | |
%17 = icmp eq i64 %16, 0 | |
br i1 %17, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %18 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%19 = inttoptr i64 %16 to i32* | |
%20 = getelementptr i32, i32* %19, i32 17 | |
%t24 = load volatile i32, i32* %20 | |
fence acquire | |
fence acquire | |
%t29 = and i32 %t24, 23068672 | |
%21 = icmp ugt i32 %t29, 0 | |
%t32 = zext i1 %21 to i32 | |
%22 = trunc i32 %t32 to i8 | |
%t34 = zext i8 %22 to i32 | |
%23 = trunc i32 %t34 to i8 | |
%t35 = zext i8 %23 to i32 | |
%24 = icmp ne i32 %t35, 0 | |
br i1 %24, label %BB4, label %BB5 | |
BB4: ; preds = %BB5, %NOEX_BB7 | |
%25 = icmp eq i32 %5, 0 | |
br i1 %25, label %BB6, label %BB7 | |
BB5: ; preds = %NOEX_BB7 | |
%26 = load volatile i64, i64* %3 | |
%27 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %27, i8 0, i32 8, i32 0, i1 false) | |
%28 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
%29 = bitcast %System.Threading.CancellationToken* %8 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %29, i8* %28, i32 8, i32 0, i1 false) | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 58) | |
%METHOD_58 = bitcast i64* %30 to i8 (i64*, i32, i64)* | |
%31 = inttoptr i64 %26 to i64* | |
%32 = bitcast %System.Threading.CancellationToken* %8 to i64* | |
%33 = getelementptr i64, i64* %32, i32 0 | |
%34 = load i64, i64* %33 | |
%35 = notail call i8 %METHOD_58(i64* %31, i32 -1, i64 %34) | |
%36 = zext i8 %35 to i32 | |
br label %BB4 | |
BB6: ; preds = %BB7, %BB4 | |
%37 = load volatile i64, i64* %3 | |
%38 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 42) | |
%METHOD_42 = bitcast i64* %38 to i8 (i64*)* | |
%39 = inttoptr i64 %37 to i64* | |
%40 = notail call i8 %METHOD_42(i64* %39) | |
%41 = zext i8 %40 to i32 | |
%42 = trunc i32 %41 to i8 | |
%t52 = zext i8 %42 to i32 | |
%43 = icmp ne i32 %t52, 0 | |
br i1 %43, label %BB8, label %BB9 | |
BB7: ; preds = %BB4 | |
%44 = load volatile i64, i64* %3 | |
%45 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 57) | |
%METHOD_57 = bitcast i64* %45 to i8 (i64*)* | |
%46 = inttoptr i64 %44 to i64* | |
%47 = notail call i8 %METHOD_57(i64* %46) | |
%48 = zext i8 %47 to i32 | |
br label %BB6 | |
BB8: ; preds = %BB9, %BB6 | |
%49 = load volatile i64, i64* %3 | |
%50 = icmp eq i64 %49, 0 | |
br i1 %50, label %EX_BB9, label %NOEX_BB11 | |
BB9: ; preds = %BB6 | |
%51 = load volatile i64, i64* %3 | |
%52 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 56) | |
%METHOD_56 = bitcast i64* %52 to void (i64*, i8)* | |
%53 = inttoptr i64 %51 to i64* | |
notail call void %METHOD_56(i64* %53, i8 1) | |
br label %BB8 | |
EX_BB9: ; preds = %BB8 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %54 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %BB8 | |
%55 = add i64 %49, 72 | |
%56 = inttoptr i64 %55 to i8* | |
%57 = bitcast %"OneThing`1<T1_INT>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %57, i8* %56, i32 4, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11 | |
%58 = bitcast %"OneThing`1<T1_INT>"* %0 to { i64 }* | |
%59 = getelementptr { i64 }, { i64 }* %58, i32 0, i32 0 | |
%60 = load i64, i64* %59 | |
%61 = insertvalue { i64 } undef, i64 %60, 0 | |
ret { i64 } %61 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 26, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_get_Factory(i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca i64, align 8, !mono.this !0 | |
%1 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %1, i64* %0 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 27) | |
%2 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%3 = icmp eq i8 %2, 0 | |
br i1 %3, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%4 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%5 = icmp eq i64 %4, 0 | |
%6 = call i1 @llvm.expect.i1(i1 %5, i1 true) | |
br i1 %6, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %7 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%8 = load volatile i64, i64* %0 | |
%RGCTX_SLOT_INDEX_STATIC_DATA = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 59) | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %9 to i64 (i64, i64)* | |
%10 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA to i64 | |
%11 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %8, i64 %10) | |
%12 = inttoptr i64 %11 to i64* | |
%t23 = load i64, i64* %12 | |
%13 = icmp ne i64 %t23, 0 | |
br i1 %13, label %BB4, label %BB5 | |
BB4: ; preds = %BB5, %BB2 | |
%14 = load volatile i64, i64* %0 | |
%RGCTX_SLOT_INDEX_STATIC_DATA1 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 59) | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %15 to i64 (i64, i64)* | |
%16 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA1 to i64 | |
%17 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %14, i64 %16) | |
%18 = inttoptr i64 %17 to i64* | |
%t61 = load i64, i64* %18 | |
br label %BB1 | |
BB5: ; preds = %BB2 | |
%19 = load volatile i64, i64* %0 | |
%RGCTX_SLOT_INDEX_STATIC_DATA3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 59) | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %20 to i64 (i64, i64)* | |
%21 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA3 to i64 | |
%22 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %19, i64 %21) | |
%23 = load volatile i64, i64* %0 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 60) | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx5 = bitcast i64* %24 to i64 (i64, i64)* | |
%25 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%26 = notail call i64 %jit_icall_mono_fill_class_rgctx5(i64 %23, i64 %25) | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %27 to i64* (i64, i64)* | |
%28 = notail call i64* %METHOD_27(i64 %26, i64 40) | |
%29 = load volatile i64, i64* %0 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 61) | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx6 = bitcast i64* %30 to i64 (i64, i64)* | |
%31 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%32 = notail call i64 %jit_icall_mono_fill_class_rgctx6(i64 %29, i64 %31) | |
%33 = inttoptr i64 %32 to i64* | |
%t43 = load i64, i64* %33 | |
%34 = inttoptr i64 %32 to i64* | |
%35 = getelementptr i64, i64* %34, i32 1 | |
%t45 = load i64, i64* %35 | |
%36 = inttoptr i64 %t43 to void (i64*, i64*)* | |
%37 = inttoptr i64 %t45 to i64* | |
notail call void %36(i64* %28, i64* %37) | |
%38 = inttoptr i64 %22 to i64* | |
%39 = ptrtoint i64* %28 to i64 | |
%40 = cmpxchg i64* %38, i64 0, i64 %39 seq_cst seq_cst | |
%41 = extractvalue { i64, i1 } %40, 0 | |
%t50 = lshr i64 %22, 9 | |
%t59 = and i64 %t50, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%42 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t60 = add i64 %t59, %42 | |
%43 = inttoptr i64 %t60 to i8* | |
%44 = getelementptr i8, i8* %43, i32 0 | |
store i8 1, i8* %44 | |
br label %BB4 | |
BB1: ; preds = %BB4 | |
%45 = inttoptr i64 %t61 to i64* | |
ret i64* %45 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
%46 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 27, i64 %46) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST_InnerInvoke(i64* %this) #5 { | |
BB0: | |
%0 = alloca %"OneThing`1<T1_INT>", align 4 | |
%1 = alloca %"OneThing`1<T1_INT>", align 4 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 28) | |
%5 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%6 = icmp eq i8 %5, 0 | |
br i1 %6, label %NOTINITED_BB33, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB33, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%7 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%8 = icmp eq i64 %7, 0 | |
%9 = call i1 @llvm.expect.i1(i1 %8, i1 true) | |
br i1 %9, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %10 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%11 = load volatile i64, i64* %2 | |
%12 = icmp eq i64 %11, 0 | |
br i1 %12, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %13 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%14 = inttoptr i64 %11 to i64* | |
%15 = getelementptr i64, i64* %14, i32 2 | |
%t20 = load volatile i64, i64* %15 | |
%16 = load volatile i64, i64* %2 | |
%17 = inttoptr i64 %16 to i64* | |
%t63 = load i64, i64* %17 | |
%RGCTX_SLOT_INDEX_CAST_CACHE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 62) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %18 to i64 (i64, i64)* | |
%19 = ptrtoint i64* %RGCTX_SLOT_INDEX_CAST_CACHE to i64 | |
%20 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t63, i64 %19) | |
%21 = inttoptr i64 %20 to i64* | |
%22 = getelementptr i64, i64* %21, i32 1 | |
%t68 = load i64, i64* %22 | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 63) | |
%METHOD_63 = bitcast i64* %23 to i64* (i64*, i64, i64)* | |
%24 = inttoptr i64 %t20 to i64* | |
%25 = notail call i64* %METHOD_63(i64* %24, i64 %t68, i64 %20) | |
%26 = ptrtoint i64* %25 to i64 | |
%27 = icmp eq i64 %26, 0 | |
br i1 %27, label %BB4, label %BB5 | |
BB4: ; preds = %NOEX_BB7 | |
%28 = load volatile i64, i64* %2 | |
%29 = icmp eq i64 %28, 0 | |
br i1 %29, label %EX_BB9, label %NOEX_BB11 | |
BB5: ; preds = %NOEX_BB7 | |
%30 = load volatile i64, i64* %2 | |
%31 = icmp eq i64* %25, null | |
br i1 %31, label %EX_BB25, label %NOEX_BB27 | |
EX_BB9: ; preds = %BB4 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %32 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %BB4 | |
%33 = inttoptr i64 %28 to i64* | |
%34 = getelementptr i64, i64* %33, i32 2 | |
%t39 = load volatile i64, i64* %34 | |
%35 = load volatile i64, i64* %2 | |
%36 = inttoptr i64 %35 to i64* | |
%t74 = load i64, i64* %36 | |
%RGCTX_SLOT_INDEX_CAST_CACHE2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 64) | |
%37 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx3 = bitcast i64* %37 to i64 (i64, i64)* | |
%38 = ptrtoint i64* %RGCTX_SLOT_INDEX_CAST_CACHE2 to i64 | |
%39 = notail call i64 %jit_icall_mono_fill_class_rgctx3(i64 %t74, i64 %38) | |
%40 = inttoptr i64 %39 to i64* | |
%41 = getelementptr i64, i64* %40, i32 1 | |
%t79 = load i64, i64* %41 | |
%42 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 63) | |
%METHOD_634 = bitcast i64* %42 to i64* (i64*, i64, i64)* | |
%43 = inttoptr i64 %t39 to i64* | |
%44 = notail call i64* %METHOD_634(i64* %43, i64 %t79, i64 %39) | |
%45 = ptrtoint i64* %44 to i64 | |
%46 = icmp eq i64 %45, 0 | |
br i1 %46, label %BB6, label %BB7 | |
BB6: ; preds = %NOEX_BB11 | |
br label %BB1 | |
BB7: ; preds = %NOEX_BB11 | |
%47 = load volatile i64, i64* %2 | |
%48 = load volatile i64, i64* %2 | |
%49 = icmp eq i64 %48, 0 | |
br i1 %49, label %EX_BB13, label %NOEX_BB15 | |
BB1: ; preds = %NOEX_BB31, %NOEX_BB23, %BB6 | |
ret void | |
EX_BB13: ; preds = %BB7 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %50 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB15: ; preds = %BB7 | |
%51 = inttoptr i64 %48 to i64* | |
%52 = getelementptr i64, i64* %51, i32 3 | |
%t45 = load volatile i64, i64* %52 | |
%53 = icmp eq i64* %44, null | |
br i1 %53, label %EX_BB17, label %NOEX_BB19 | |
EX_BB17: ; preds = %NOEX_BB15 | |
br label %EX2_BB18 | |
EX2_BB18: ; preds = %EX_BB17 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_226 = bitcast i64* %54 to void ()* | |
call void %JIT_ICALL_ADDR_226() | |
unreachable | |
NOEX_BB19: ; preds = %NOEX_BB15 | |
%t49 = load i64, i64* %44 | |
%55 = inttoptr i64 %t49 to i64* | |
%56 = getelementptr i64, i64* %55, i32 24 | |
%t46 = load i64, i64* %56 | |
%57 = icmp ne i64 %t46, 0 | |
%58 = call i1 @llvm.expect.i1(i1 %57, i1 true) | |
br i1 %58, label %BB11, label %BB12 | |
BB11: ; preds = %BB12, %NOEX_BB19 | |
%59 = phi i64 [ %t46, %NOEX_BB19 ], [ %72, %BB12 ] | |
%60 = inttoptr i64 %59 to i64* | |
%t47 = load i64, i64* %60 | |
%61 = inttoptr i64 %59 to i64* | |
%62 = getelementptr i64, i64* %61, i32 1 | |
%t54 = load i64, i64* %62 | |
%63 = inttoptr i64 %t47 to { i64 } (i64*, i64*, i64*)* | |
%64 = inttoptr i64 %t45 to i64* | |
%65 = inttoptr i64 %t54 to i64* | |
%66 = notail call { i64 } %63(i64* %44, i64* %64, i64* %65) | |
%67 = extractvalue { i64 } %66, 0 | |
%68 = bitcast %"OneThing`1<T1_INT>"* %0 to i64* | |
%69 = getelementptr i64, i64* %68, i32 0 | |
store i64 %67, i64* %69 | |
%70 = icmp eq i64 %47, 0 | |
br i1 %70, label %EX_BB21, label %NOEX_BB23 | |
BB12: ; preds = %NOEX_BB19 | |
%71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %71 to i64 (i64, i64)* | |
%72 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t49, i64 15) | |
br label %BB11 | |
EX_BB21: ; preds = %BB11 | |
br label %EX2_BB22 | |
EX2_BB22: ; preds = %EX_BB21 | |
%73 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_227 = bitcast i64* %73 to void ()* | |
call void %JIT_ICALL_ADDR_227() | |
unreachable | |
NOEX_BB23: ; preds = %BB11 | |
%t95 = add i64 %47, 72 | |
%74 = bitcast %"OneThing`1<T1_INT>"* %0 to i32* | |
%t96 = load i32, i32* %74 | |
%75 = inttoptr i64 %t95 to i32* | |
%76 = getelementptr i32, i32* %75, i32 0 | |
store i32 %t96, i32* %76 | |
br label %BB1 | |
EX_BB25: ; preds = %BB5 | |
br label %EX2_BB26 | |
EX2_BB26: ; preds = %EX_BB25 | |
%77 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_228 = bitcast i64* %77 to void ()* | |
call void %JIT_ICALL_ADDR_228() | |
unreachable | |
NOEX_BB27: ; preds = %BB5 | |
%t28 = load i64, i64* %25 | |
%78 = inttoptr i64 %t28 to i64* | |
%79 = getelementptr i64, i64* %78, i32 24 | |
%t25 = load i64, i64* %79 | |
%80 = icmp ne i64 %t25, 0 | |
%81 = call i1 @llvm.expect.i1(i1 %80, i1 true) | |
br i1 %81, label %BB8, label %BB9 | |
BB8: ; preds = %BB9, %NOEX_BB27 | |
%82 = phi i64 [ %t25, %NOEX_BB27 ], [ %94, %BB9 ] | |
%83 = inttoptr i64 %82 to i64* | |
%t26 = load i64, i64* %83 | |
%84 = inttoptr i64 %82 to i64* | |
%85 = getelementptr i64, i64* %84, i32 1 | |
%t33 = load i64, i64* %85 | |
%86 = inttoptr i64 %t26 to { i64 } (i64*, i64*)* | |
%87 = inttoptr i64 %t33 to i64* | |
%88 = notail call { i64 } %86(i64* %25, i64* %87) | |
%89 = extractvalue { i64 } %88, 0 | |
%90 = bitcast %"OneThing`1<T1_INT>"* %1 to i64* | |
%91 = getelementptr i64, i64* %90, i32 0 | |
store i64 %89, i64* %91 | |
%92 = icmp eq i64 %30, 0 | |
br i1 %92, label %EX_BB29, label %NOEX_BB31 | |
BB9: ; preds = %NOEX_BB27 | |
%93 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot10 = bitcast i64* %93 to i64 (i64, i64)* | |
%94 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot10(i64 %t28, i64 15) | |
br label %BB8 | |
EX_BB29: ; preds = %BB8 | |
br label %EX2_BB30 | |
EX2_BB30: ; preds = %EX_BB29 | |
%95 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_229 = bitcast i64* %95 to void ()* | |
call void %JIT_ICALL_ADDR_229() | |
unreachable | |
NOEX_BB31: ; preds = %BB8 | |
%t91 = add i64 %30, 72 | |
%96 = bitcast %"OneThing`1<T1_INT>"* %1 to i32* | |
%t92 = load i32, i32* %96 | |
%97 = inttoptr i64 %t91 to i32* | |
%98 = getelementptr i32, i32* %97, i32 0 | |
store i32 %t92, i32* %98 | |
br label %BB1 | |
NOTINITED_BB33: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 28, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal { i64 } @System_Threading_Tasks_Task_1_TResult_INST_GetAwaiter(i64* %this) #5 { | |
BB0: | |
%0 = alloca %"System.Runtime.CompilerServices.TaskAwaiter`1<TResult_INST>", align 8 | |
%1 = alloca %"System.Runtime.CompilerServices.TaskAwaiter`1<TResult_INST>", align 8 | |
%2 = alloca i64, align 8 | |
%3 = alloca %"System.Runtime.CompilerServices.TaskAwaiter`1<TResult_INST>", align 8 | |
%4 = ptrtoint i64* %this to i64 | |
store i64 %4, i64* %2 | |
%5 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %5 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 29) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%12 = load volatile i64, i64* %2 | |
%13 = bitcast %"System.Runtime.CompilerServices.TaskAwaiter`1<TResult_INST>"* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %13, i8 0, i32 8, i32 0, i1 false) | |
%14 = load volatile i64, i64* %2 | |
%15 = inttoptr i64 %14 to i64* | |
%t22 = load i64, i64* %15 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 65) | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %16 to i64 (i64, i64)* | |
%17 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%18 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t22, i64 %17) | |
%19 = load volatile i64, i64* %2 | |
%20 = inttoptr i64 %19 to i64* | |
%t28 = load i64, i64* %20 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 66) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %21 to i64 (i64, i64)* | |
%22 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%23 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t28, i64 %22) | |
%24 = inttoptr i64 %23 to i64* | |
%t33 = load i64, i64* %24 | |
%25 = inttoptr i64 %23 to i64* | |
%26 = getelementptr i64, i64* %25, i32 1 | |
%t35 = load i64, i64* %26 | |
%27 = inttoptr i64 %t33 to void (i64*, i64*, i64*)* | |
%28 = bitcast %"System.Runtime.CompilerServices.TaskAwaiter`1<TResult_INST>"* %1 to i64* | |
%29 = inttoptr i64 %12 to i64* | |
%30 = inttoptr i64 %t35 to i64* | |
notail call void %27(i64* %28, i64* %29, i64* %30) | |
%31 = bitcast %"System.Runtime.CompilerServices.TaskAwaiter`1<TResult_INST>"* %1 to i8* | |
%32 = bitcast %"System.Runtime.CompilerServices.TaskAwaiter`1<TResult_INST>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %32, i8* %31, i32 8, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
%33 = bitcast %"System.Runtime.CompilerServices.TaskAwaiter`1<TResult_INST>"* %0 to { i64 }* | |
%34 = getelementptr { i64 }, { i64 }* %33, i32 0, i32 0 | |
%35 = load i64, i64* %34 | |
%36 = insertvalue { i64 } undef, i64 %35, 0 | |
ret { i64 } %36 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 29, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_Task_1_TResult_INST_ConfigureAwait_bool(i64* %this, i64 %vret, i8 %arg_continueOnCapturedContext) #5 { | |
BB0: | |
%0 = alloca %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<TResult_INST>", align 8 | |
%1 = alloca %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<TResult_INST>", align 8 | |
%2 = alloca i64, align 8 | |
%3 = alloca %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<TResult_INST>", align 8 | |
%4 = zext i8 %arg_continueOnCapturedContext to i32 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 30) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<TResult_INST>"* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %14, i8 0, i32 16, i32 0, i1 false) | |
%15 = load volatile i64, i64* %2 | |
%16 = inttoptr i64 %15 to i64* | |
%t25 = load i64, i64* %16 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 67) | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %17 to i64 (i64, i64)* | |
%18 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%19 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t25, i64 %18) | |
%20 = load volatile i64, i64* %2 | |
%21 = inttoptr i64 %20 to i64* | |
%t31 = load i64, i64* %21 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 68) | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %22 to i64 (i64, i64)* | |
%23 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%24 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t31, i64 %23) | |
%25 = inttoptr i64 %24 to i64* | |
%t36 = load i64, i64* %25 | |
%26 = inttoptr i64 %24 to i64* | |
%27 = getelementptr i64, i64* %26, i32 1 | |
%t38 = load i64, i64* %27 | |
%28 = inttoptr i64 %t36 to void (i64*, i64*, i8, i64*)* | |
%29 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<TResult_INST>"* %1 to i64* | |
%30 = inttoptr i64 %13 to i64* | |
%31 = trunc i32 %4 to i8 | |
%32 = inttoptr i64 %t38 to i64* | |
notail call void %28(i64* %29, i64* %30, i8 %31, i64* %32) | |
%33 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<TResult_INST>"* %1 to i8* | |
%34 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<TResult_INST>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %34, i8* %33, i32 16, i32 0, i1 false) | |
%t47 = add i64 %vret, 0 | |
%35 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<TResult_INST>"* %0 to i64* | |
%t49 = load i64, i64* %35 | |
%36 = inttoptr i64 %t47 to i64* | |
%37 = getelementptr i64, i64* %36, i32 0 | |
store i64 %t49, i64* %37 | |
%t50 = lshr i64 %t47, 9 | |
%t502 = and i64 %t50, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%38 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t503 = add i64 %t502, %38 | |
%39 = inttoptr i64 %t503 to i8* | |
%40 = getelementptr i8, i8* %39, i32 0 | |
store i8 1, i8* %40 | |
%t48 = add i64 %t47, 8 | |
%41 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<TResult_INST>"* %0 to i64* | |
%42 = getelementptr i64, i64* %41, i32 1 | |
%t494 = load i64, i64* %42 | |
%43 = inttoptr i64 %t48 to i64* | |
%44 = getelementptr i64, i64* %43, i32 0 | |
store i64 %t494, i64* %44 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 30, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_1_System_Threading_Tasks_Task_1_TResult_INST(i64* %this, i64* %arg_continuationAction) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 31) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 69) | |
%METHOD_69 = bitcast i64* %14 to i64* ()* | |
%15 = notail call i64* %METHOD_69() | |
%16 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %16, i8 0, i32 8, i32 0, i1 false) | |
%17 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%18 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %18, i8* %17, i32 8, i32 0, i1 false) | |
%19 = icmp eq i64 %13, 0 | |
br i1 %19, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %20 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%21 = load volatile i64, i64* %2 | |
%22 = inttoptr i64 %21 to i64* | |
%t27 = load i64, i64* %22 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 70) | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %23 to i64 (i64, i64)* | |
%24 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%25 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t27, i64 %24) | |
%26 = inttoptr i64 %25 to i64* | |
%t32 = load i64, i64* %26 | |
%27 = inttoptr i64 %25 to i64* | |
%28 = getelementptr i64, i64* %27, i32 1 | |
%t34 = load i64, i64* %28 | |
%29 = inttoptr i64 %t32 to i64* (i64*, i64*, i64*, i64, i32, i64*)* | |
%30 = inttoptr i64 %13 to i64* | |
%31 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%32 = getelementptr i64, i64* %31, i32 0 | |
%33 = load i64, i64* %32 | |
%34 = inttoptr i64 %t34 to i64* | |
%35 = notail call i64* %29(i64* %30, i64* %arg_continuationAction, i64* %15, i64 %33, i32 0, i64* %34) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %35 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 31, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_1_System_Threading_Tasks_Task_1_TResult_INST_System_Threading_CancellationToken(i64* %this, i64* %arg_continuationAction, i64 %arg_cancellationToken) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 32) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 69) | |
%METHOD_69 = bitcast i64* %14 to i64* ()* | |
%15 = notail call i64* %METHOD_69() | |
%16 = icmp eq i64 %13, 0 | |
br i1 %16, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%18 = load volatile i64, i64* %2 | |
%19 = inttoptr i64 %18 to i64* | |
%t27 = load i64, i64* %19 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 70) | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %20 to i64 (i64, i64)* | |
%21 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%22 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t27, i64 %21) | |
%23 = inttoptr i64 %22 to i64* | |
%t32 = load i64, i64* %23 | |
%24 = inttoptr i64 %22 to i64* | |
%25 = getelementptr i64, i64* %24, i32 1 | |
%t34 = load i64, i64* %25 | |
%26 = inttoptr i64 %t32 to i64* (i64*, i64*, i64*, i64, i32, i64*)* | |
%27 = inttoptr i64 %13 to i64* | |
%28 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%29 = getelementptr i64, i64* %28, i32 0 | |
%30 = load i64, i64* %29 | |
%31 = inttoptr i64 %t34 to i64* | |
%32 = notail call i64* %26(i64* %27, i64* %arg_continuationAction, i64* %15, i64 %30, i32 0, i64* %31) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %32 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 32, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_1_System_Threading_Tasks_Task_1_TResult_INST_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_continuationAction, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 33) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %14, i8 0, i32 8, i32 0, i1 false) | |
%15 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%16 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* %15, i32 8, i32 0, i1 false) | |
%17 = icmp eq i64 %13, 0 | |
br i1 %17, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %18 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%19 = load volatile i64, i64* %2 | |
%20 = inttoptr i64 %19 to i64* | |
%t27 = load i64, i64* %20 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 70) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %21 to i64 (i64, i64)* | |
%22 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%23 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t27, i64 %22) | |
%24 = inttoptr i64 %23 to i64* | |
%t32 = load i64, i64* %24 | |
%25 = inttoptr i64 %23 to i64* | |
%26 = getelementptr i64, i64* %25, i32 1 | |
%t34 = load i64, i64* %26 | |
%27 = inttoptr i64 %t32 to i64* (i64*, i64*, i64*, i64, i32, i64*)* | |
%28 = inttoptr i64 %13 to i64* | |
%29 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%30 = getelementptr i64, i64* %29, i32 0 | |
%31 = load i64, i64* %30 | |
%32 = inttoptr i64 %t34 to i64* | |
%33 = notail call i64* %27(i64* %28, i64* %arg_continuationAction, i64* %arg_scheduler, i64 %31, i32 0, i64* %32) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %33 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 33, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_1_System_Threading_Tasks_Task_1_TResult_INST_System_Threading_Tasks_TaskContinuationOptions(i64* %this, i64* %arg_continuationAction, i32 %arg_continuationOptions) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 34) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 69) | |
%METHOD_69 = bitcast i64* %14 to i64* ()* | |
%15 = notail call i64* %METHOD_69() | |
%16 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %16, i8 0, i32 8, i32 0, i1 false) | |
%17 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%18 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %18, i8* %17, i32 8, i32 0, i1 false) | |
%19 = icmp eq i64 %13, 0 | |
br i1 %19, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %20 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%21 = load volatile i64, i64* %2 | |
%22 = inttoptr i64 %21 to i64* | |
%t28 = load i64, i64* %22 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 70) | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %23 to i64 (i64, i64)* | |
%24 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%25 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t28, i64 %24) | |
%26 = inttoptr i64 %25 to i64* | |
%t33 = load i64, i64* %26 | |
%27 = inttoptr i64 %25 to i64* | |
%28 = getelementptr i64, i64* %27, i32 1 | |
%t35 = load i64, i64* %28 | |
%29 = inttoptr i64 %t33 to i64* (i64*, i64*, i64*, i64, i32, i64*)* | |
%30 = inttoptr i64 %13 to i64* | |
%31 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%32 = getelementptr i64, i64* %31, i32 0 | |
%33 = load i64, i64* %32 | |
%34 = inttoptr i64 %t35 to i64* | |
%35 = notail call i64* %29(i64* %30, i64* %arg_continuationAction, i64* %15, i64 %33, i32 %arg_continuationOptions, i64* %34) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %35 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 34, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_1_System_Threading_Tasks_Task_1_TResult_INST_System_Threading_CancellationToken_System_Threading_Tasks_TaskContinuationOptions_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_continuationAction, i64 %arg_cancellationToken, i32 %arg_continuationOptions, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 35) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = icmp eq i64 %13, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %15 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%16 = load volatile i64, i64* %2 | |
%17 = inttoptr i64 %16 to i64* | |
%t28 = load i64, i64* %17 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 70) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %18 to i64 (i64, i64)* | |
%19 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%20 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t28, i64 %19) | |
%21 = inttoptr i64 %20 to i64* | |
%t33 = load i64, i64* %21 | |
%22 = inttoptr i64 %20 to i64* | |
%23 = getelementptr i64, i64* %22, i32 1 | |
%t35 = load i64, i64* %23 | |
%24 = inttoptr i64 %t33 to i64* (i64*, i64*, i64*, i64, i32, i64*)* | |
%25 = inttoptr i64 %13 to i64* | |
%26 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%27 = getelementptr i64, i64* %26, i32 0 | |
%28 = load i64, i64* %27 | |
%29 = inttoptr i64 %t35 to i64* | |
%30 = notail call i64* %24(i64* %25, i64* %arg_continuationAction, i64* %arg_scheduler, i64 %28, i32 %arg_continuationOptions, i64* %29) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %30 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 35, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_1_System_Threading_Tasks_Task_1_TResult_INST_System_Threading_Tasks_TaskScheduler_System_Threading_CancellationToken_System_Threading_Tasks_TaskContinuationOptions(i64* %this, i64* %arg_continuationAction, i64* %arg_scheduler, i64 %arg_cancellationToken, i32 %arg_continuationOptions) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i32, align 4 | |
%2 = alloca i32, align 4 | |
%3 = alloca %System.Threading.CancellationToken, align 8 | |
%4 = alloca i64, align 8 | |
%5 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%6 = getelementptr i64, i64* %5, i32 0 | |
store i64 %arg_cancellationToken, i64* %6 | |
%7 = ptrtoint i64* %this to i64 | |
store i64 %7, i64* %4 | |
%8 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 36) | |
%9 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%10 = icmp eq i8 %9, 0 | |
br i1 %10, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%11 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%12 = icmp eq i64 %11, 0 | |
%13 = call i1 @llvm.expect.i1(i1 %12, i1 true) | |
br i1 %13, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %14 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
store i32 0, i32* %2 | |
store i32 0, i32* %1 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%15 = ptrtoint i64* %arg_continuationAction to i64 | |
%16 = icmp ne i64 %15, 0 | |
br i1 %16, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%17 = ptrtoint i64* %arg_scheduler to i64 | |
%18 = icmp ne i64 %17, 0 | |
br i1 %18, label %BB6, label %BB7 | |
BB5: ; preds = %BB2 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib2 = bitcast i64* %19 to i64* (i64)* | |
%20 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib2(i64 82604) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_13 = bitcast i64* %21 to i64* (i64, i64*)* | |
%22 = notail call i64* %jit_icall_mono_create_corlib_exception_13(i64 33554603, i64* %20) | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_414 = bitcast i64* %23 to void (i64*)* | |
call void %JIT_ICALL_ADDR_414(i64* %22) | |
unreachable | |
BB6: ; preds = %BB4 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 71) | |
%METHOD_71 = bitcast i64* %24 to void (i32, i64*, i64*)* | |
%25 = bitcast i32* %2 to i64* | |
%26 = bitcast i32* %1 to i64* | |
notail call void %METHOD_71(i32 %arg_continuationOptions, i64* %25, i64* %26) | |
%27 = load volatile i64, i64* %4 | |
%28 = load volatile i32, i32* %2 | |
%29 = load volatile i32, i32* %1 | |
%30 = load volatile i64, i64* %4 | |
%31 = inttoptr i64 %30 to i64* | |
%t53 = load i64, i64* %31 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 72) | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %32 to i64 (i64, i64)* | |
%33 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%34 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t53, i64 %33) | |
%35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %35 to i64* (i64, i64)* | |
%36 = notail call i64* %METHOD_27(i64 %34, i64 80) | |
%37 = load volatile i64, i64* %4 | |
%38 = inttoptr i64 %37 to i64* | |
%t63 = load i64, i64* %38 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 73) | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %39 to i64 (i64, i64)* | |
%40 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%41 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t63, i64 %40) | |
%42 = inttoptr i64 %41 to i64* | |
%t68 = load i64, i64* %42 | |
%43 = inttoptr i64 %41 to i64* | |
%44 = getelementptr i64, i64* %43, i32 1 | |
%t70 = load i64, i64* %44 | |
%45 = inttoptr i64 %t68 to void (i64*, i64*, i64*, i64*, i32, i32, i64*)* | |
%46 = inttoptr i64 %27 to i64* | |
%47 = inttoptr i64 %t70 to i64* | |
notail call void %45(i64* %36, i64* %46, i64* %arg_continuationAction, i64* null, i32 %28, i32 %29, i64* %47) | |
%48 = load volatile i64, i64* %4 | |
%49 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 74) | |
%METHOD_74 = bitcast i64* %49 to void (i64*, i64*, i64*, i64, i32)* | |
%50 = inttoptr i64 %48 to i64* | |
%51 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%52 = getelementptr i64, i64* %51, i32 0 | |
%53 = load i64, i64* %52 | |
notail call void %METHOD_74(i64* %50, i64* %36, i64* %arg_scheduler, i64 %53, i32 %arg_continuationOptions) | |
br label %BB1 | |
BB7: ; preds = %BB4 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %54 to i64* (i64)* | |
%55 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82526) | |
%56 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %56 to i64* (i64, i64*)* | |
%57 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %55) | |
%58 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %58 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %57) | |
unreachable | |
BB1: ; preds = %BB6 | |
%59 = phi i64* [ %36, %BB6 ] | |
ret i64* %59 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 36, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_2_System_Threading_Tasks_Task_1_TResult_INST_object_object(i64* %this, i64* %arg_continuationAction, i64* %arg_state) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 37) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 69) | |
%METHOD_69 = bitcast i64* %14 to i64* ()* | |
%15 = notail call i64* %METHOD_69() | |
%16 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %16, i8 0, i32 8, i32 0, i1 false) | |
%17 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%18 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %18, i8* %17, i32 8, i32 0, i1 false) | |
%19 = icmp eq i64 %13, 0 | |
br i1 %19, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %20 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%21 = load volatile i64, i64* %2 | |
%22 = inttoptr i64 %21 to i64* | |
%t29 = load i64, i64* %22 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 75) | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %23 to i64 (i64, i64)* | |
%24 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%25 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t29, i64 %24) | |
%26 = inttoptr i64 %25 to i64* | |
%t34 = load i64, i64* %26 | |
%27 = inttoptr i64 %25 to i64* | |
%28 = getelementptr i64, i64* %27, i32 1 | |
%t36 = load i64, i64* %28 | |
%29 = inttoptr i64 %t34 to i64* (i64*, i64*, i64*, i64*, i64, i32, i64*)* | |
%30 = inttoptr i64 %13 to i64* | |
%31 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%32 = getelementptr i64, i64* %31, i32 0 | |
%33 = load i64, i64* %32 | |
%34 = inttoptr i64 %t36 to i64* | |
%35 = notail call i64* %29(i64* %30, i64* %arg_continuationAction, i64* %arg_state, i64* %15, i64 %33, i32 0, i64* %34) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %35 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 37, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_2_System_Threading_Tasks_Task_1_TResult_INST_object_object_System_Threading_CancellationToken(i64* %this, i64* %arg_continuationAction, i64* %arg_state, i64 %arg_cancellationToken) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 38) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 69) | |
%METHOD_69 = bitcast i64* %14 to i64* ()* | |
%15 = notail call i64* %METHOD_69() | |
%16 = icmp eq i64 %13, 0 | |
br i1 %16, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%18 = load volatile i64, i64* %2 | |
%19 = inttoptr i64 %18 to i64* | |
%t29 = load i64, i64* %19 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 75) | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %20 to i64 (i64, i64)* | |
%21 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%22 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t29, i64 %21) | |
%23 = inttoptr i64 %22 to i64* | |
%t34 = load i64, i64* %23 | |
%24 = inttoptr i64 %22 to i64* | |
%25 = getelementptr i64, i64* %24, i32 1 | |
%t36 = load i64, i64* %25 | |
%26 = inttoptr i64 %t34 to i64* (i64*, i64*, i64*, i64*, i64, i32, i64*)* | |
%27 = inttoptr i64 %13 to i64* | |
%28 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%29 = getelementptr i64, i64* %28, i32 0 | |
%30 = load i64, i64* %29 | |
%31 = inttoptr i64 %t36 to i64* | |
%32 = notail call i64* %26(i64* %27, i64* %arg_continuationAction, i64* %arg_state, i64* %15, i64 %30, i32 0, i64* %31) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %32 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 38, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_2_System_Threading_Tasks_Task_1_TResult_INST_object_object_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_continuationAction, i64* %arg_state, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 39) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %14, i8 0, i32 8, i32 0, i1 false) | |
%15 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%16 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* %15, i32 8, i32 0, i1 false) | |
%17 = icmp eq i64 %13, 0 | |
br i1 %17, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %18 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%19 = load volatile i64, i64* %2 | |
%20 = inttoptr i64 %19 to i64* | |
%t29 = load i64, i64* %20 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 75) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %21 to i64 (i64, i64)* | |
%22 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%23 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t29, i64 %22) | |
%24 = inttoptr i64 %23 to i64* | |
%t34 = load i64, i64* %24 | |
%25 = inttoptr i64 %23 to i64* | |
%26 = getelementptr i64, i64* %25, i32 1 | |
%t36 = load i64, i64* %26 | |
%27 = inttoptr i64 %t34 to i64* (i64*, i64*, i64*, i64*, i64, i32, i64*)* | |
%28 = inttoptr i64 %13 to i64* | |
%29 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%30 = getelementptr i64, i64* %29, i32 0 | |
%31 = load i64, i64* %30 | |
%32 = inttoptr i64 %t36 to i64* | |
%33 = notail call i64* %27(i64* %28, i64* %arg_continuationAction, i64* %arg_state, i64* %arg_scheduler, i64 %31, i32 0, i64* %32) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %33 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 39, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_2_System_Threading_Tasks_Task_1_TResult_INST_object_object_System_Threading_Tasks_TaskContinuationOptions(i64* %this, i64* %arg_continuationAction, i64* %arg_state, i32 %arg_continuationOptions) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 40) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 69) | |
%METHOD_69 = bitcast i64* %14 to i64* ()* | |
%15 = notail call i64* %METHOD_69() | |
%16 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %16, i8 0, i32 8, i32 0, i1 false) | |
%17 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%18 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %18, i8* %17, i32 8, i32 0, i1 false) | |
%19 = icmp eq i64 %13, 0 | |
br i1 %19, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %20 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%21 = load volatile i64, i64* %2 | |
%22 = inttoptr i64 %21 to i64* | |
%t30 = load i64, i64* %22 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 75) | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %23 to i64 (i64, i64)* | |
%24 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%25 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t30, i64 %24) | |
%26 = inttoptr i64 %25 to i64* | |
%t35 = load i64, i64* %26 | |
%27 = inttoptr i64 %25 to i64* | |
%28 = getelementptr i64, i64* %27, i32 1 | |
%t37 = load i64, i64* %28 | |
%29 = inttoptr i64 %t35 to i64* (i64*, i64*, i64*, i64*, i64, i32, i64*)* | |
%30 = inttoptr i64 %13 to i64* | |
%31 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%32 = getelementptr i64, i64* %31, i32 0 | |
%33 = load i64, i64* %32 | |
%34 = inttoptr i64 %t37 to i64* | |
%35 = notail call i64* %29(i64* %30, i64* %arg_continuationAction, i64* %arg_state, i64* %15, i64 %33, i32 %arg_continuationOptions, i64* %34) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %35 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 40, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_2_System_Threading_Tasks_Task_1_TResult_INST_object_object_System_Threading_CancellationToken_System_Threading_Tasks_TaskContinuationOptions_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_continuationAction, i64* %arg_state, i64 %arg_cancellationToken, i32 %arg_continuationOptions, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 41) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = icmp eq i64 %13, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %15 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%16 = load volatile i64, i64* %2 | |
%17 = inttoptr i64 %16 to i64* | |
%t30 = load i64, i64* %17 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 75) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %18 to i64 (i64, i64)* | |
%19 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%20 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t30, i64 %19) | |
%21 = inttoptr i64 %20 to i64* | |
%t35 = load i64, i64* %21 | |
%22 = inttoptr i64 %20 to i64* | |
%23 = getelementptr i64, i64* %22, i32 1 | |
%t37 = load i64, i64* %23 | |
%24 = inttoptr i64 %t35 to i64* (i64*, i64*, i64*, i64*, i64, i32, i64*)* | |
%25 = inttoptr i64 %13 to i64* | |
%26 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%27 = getelementptr i64, i64* %26, i32 0 | |
%28 = load i64, i64* %27 | |
%29 = inttoptr i64 %t37 to i64* | |
%30 = notail call i64* %24(i64* %25, i64* %arg_continuationAction, i64* %arg_state, i64* %arg_scheduler, i64 %28, i32 %arg_continuationOptions, i64* %29) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %30 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 41, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_INST_ContinueWith_System_Action_2_System_Threading_Tasks_Task_1_TResult_INST_object_object_System_Threading_Tasks_TaskScheduler_System_Threading_CancellationToken_System_Threading_Tasks_TaskContinuationOptions(i64* %this, i64* %arg_continuationAction, i64* %arg_state, i64* %arg_scheduler, i64 %arg_cancellationToken, i32 %arg_continuationOptions) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i32, align 4 | |
%2 = alloca i32, align 4 | |
%3 = alloca %System.Threading.CancellationToken, align 8 | |
%4 = alloca i64, align 8 | |
%5 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%6 = getelementptr i64, i64* %5, i32 0 | |
store i64 %arg_cancellationToken, i64* %6 | |
%7 = ptrtoint i64* %this to i64 | |
store i64 %7, i64* %4 | |
%8 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 42) | |
%9 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%10 = icmp eq i8 %9, 0 | |
br i1 %10, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%11 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%12 = icmp eq i64 %11, 0 | |
%13 = call i1 @llvm.expect.i1(i1 %12, i1 true) | |
br i1 %13, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %14 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
store i32 0, i32* %2 | |
store i32 0, i32* %1 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%15 = ptrtoint i64* %arg_continuationAction to i64 | |
%16 = icmp ne i64 %15, 0 | |
br i1 %16, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%17 = ptrtoint i64* %arg_scheduler to i64 | |
%18 = icmp ne i64 %17, 0 | |
br i1 %18, label %BB6, label %BB7 | |
BB5: ; preds = %BB2 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib2 = bitcast i64* %19 to i64* (i64)* | |
%20 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib2(i64 82604) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_13 = bitcast i64* %21 to i64* (i64, i64*)* | |
%22 = notail call i64* %jit_icall_mono_create_corlib_exception_13(i64 33554603, i64* %20) | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_414 = bitcast i64* %23 to void (i64*)* | |
call void %JIT_ICALL_ADDR_414(i64* %22) | |
unreachable | |
BB6: ; preds = %BB4 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 71) | |
%METHOD_71 = bitcast i64* %24 to void (i32, i64*, i64*)* | |
%25 = bitcast i32* %2 to i64* | |
%26 = bitcast i32* %1 to i64* | |
notail call void %METHOD_71(i32 %arg_continuationOptions, i64* %25, i64* %26) | |
%27 = load volatile i64, i64* %4 | |
%28 = load volatile i32, i32* %2 | |
%29 = load volatile i32, i32* %1 | |
%30 = load volatile i64, i64* %4 | |
%31 = inttoptr i64 %30 to i64* | |
%t54 = load i64, i64* %31 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 72) | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %32 to i64 (i64, i64)* | |
%33 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%34 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t54, i64 %33) | |
%35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %35 to i64* (i64, i64)* | |
%36 = notail call i64* %METHOD_27(i64 %34, i64 80) | |
%37 = load volatile i64, i64* %4 | |
%38 = inttoptr i64 %37 to i64* | |
%t64 = load i64, i64* %38 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 73) | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %39 to i64 (i64, i64)* | |
%40 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%41 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t64, i64 %40) | |
%42 = inttoptr i64 %41 to i64* | |
%t69 = load i64, i64* %42 | |
%43 = inttoptr i64 %41 to i64* | |
%44 = getelementptr i64, i64* %43, i32 1 | |
%t71 = load i64, i64* %44 | |
%45 = inttoptr i64 %t69 to void (i64*, i64*, i64*, i64*, i32, i32, i64*)* | |
%46 = inttoptr i64 %27 to i64* | |
%47 = inttoptr i64 %t71 to i64* | |
notail call void %45(i64* %36, i64* %46, i64* %arg_continuationAction, i64* %arg_state, i32 %28, i32 %29, i64* %47) | |
%48 = load volatile i64, i64* %4 | |
%49 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 74) | |
%METHOD_74 = bitcast i64* %49 to void (i64*, i64*, i64*, i64, i32)* | |
%50 = inttoptr i64 %48 to i64* | |
%51 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%52 = getelementptr i64, i64* %51, i32 0 | |
%53 = load i64, i64* %52 | |
notail call void %METHOD_74(i64* %50, i64* %36, i64* %arg_scheduler, i64 %53, i32 %arg_continuationOptions) | |
br label %BB1 | |
BB7: ; preds = %BB4 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %54 to i64* (i64)* | |
%55 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82526) | |
%56 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %56 to i64* (i64, i64*)* | |
%57 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %55) | |
%58 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %58 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %57) | |
unreachable | |
BB1: ; preds = %BB6 | |
%59 = phi i64* [ %36, %BB6 ] | |
ret i64* %59 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 42, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_get_DefaultScheduler(i64* %this) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 43) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%5 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%6 = icmp eq i64 %5, 0 | |
%7 = call i1 @llvm.expect.i1(i1 %6, i1 true) | |
br i1 %7, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %8 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = load volatile i64, i64* %0 | |
%10 = icmp eq i64 %9, 0 | |
br i1 %10, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %11 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%12 = inttoptr i64 %9 to i64* | |
%13 = getelementptr i64, i64* %12, i32 3 | |
%t19 = load volatile i64, i64* %13 | |
%14 = icmp ne i64 %t19, 0 | |
br i1 %14, label %BB4, label %BB5 | |
BB4: ; preds = %NOEX_BB7 | |
%15 = load volatile i64, i64* %0 | |
%16 = icmp eq i64 %15, 0 | |
br i1 %16, label %EX_BB9, label %NOEX_BB11 | |
BB5: ; preds = %NOEX_BB7 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 69) | |
%METHOD_69 = bitcast i64* %17 to i64* ()* | |
%18 = notail call i64* %METHOD_69() | |
br label %BB1 | |
EX_BB9: ; preds = %BB4 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %19 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %BB4 | |
%20 = inttoptr i64 %15 to i64* | |
%21 = getelementptr i64, i64* %20, i32 3 | |
%t27 = load volatile i64, i64* %21 | |
%22 = inttoptr i64 %t27 to i64* | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11, %BB5 | |
%23 = phi i64* [ %18, %BB5 ], [ %22, %NOEX_BB11 ] | |
ret i64* %23 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 43, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_GetDefaultScheduler_System_Threading_Tasks_Task(i64* %this, i64* %arg_currTask) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 44) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB17, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB17, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%5 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%6 = icmp eq i64 %5, 0 | |
%7 = call i1 @llvm.expect.i1(i1 %6, i1 true) | |
br i1 %7, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %8 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = load volatile i64, i64* %0 | |
%10 = icmp eq i64 %9, 0 | |
br i1 %10, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %11 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%12 = inttoptr i64 %9 to i64* | |
%13 = getelementptr i64, i64* %12, i32 3 | |
%t20 = load volatile i64, i64* %13 | |
%14 = icmp eq i64 %t20, 0 | |
br i1 %14, label %BB4, label %BB5 | |
BB4: ; preds = %NOEX_BB7 | |
%15 = ptrtoint i64* %arg_currTask to i64 | |
%16 = icmp eq i64 %15, 0 | |
br i1 %16, label %BB6, label %BB7 | |
BB5: ; preds = %NOEX_BB7 | |
%17 = load volatile i64, i64* %0 | |
%18 = icmp eq i64 %17, 0 | |
br i1 %18, label %EX_BB13, label %NOEX_BB15 | |
BB6: ; preds = %NOEX_BB11, %BB4 | |
br label %BB32 | |
BB7: ; preds = %BB4 | |
%19 = icmp eq i64* %arg_currTask, null | |
br i1 %19, label %EX_BB9, label %NOEX_BB11 | |
BB32: ; preds = %BB6 | |
%VTABLE_76 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 76) | |
%20 = bitcast i64* %VTABLE_76 to i8* | |
%21 = getelementptr i8, i8* %20, i32 45 | |
%22 = load i8, i8* %21 | |
%23 = zext i8 %22 to i32 | |
%24 = sext i32 %23 to i64 | |
%25 = icmp ne i64 %24, 0 | |
br i1 %25, label %BB34, label %BB35 | |
BB34: ; preds = %BB35, %BB32 | |
%SFLDA_77 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 77) | |
%t63 = load i64, i64* %SFLDA_77 | |
%26 = inttoptr i64 %t63 to i64* | |
br label %BB1 | |
BB35: ; preds = %BB32 | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init = bitcast i64* %27 to void (i64)* | |
%28 = ptrtoint i64* %VTABLE_76 to i64 | |
notail call void %jit_icall_mono_generic_class_init(i64 %28) | |
br label %BB34 | |
BB1: ; preds = %NOEX_BB15, %BB8, %BB34 | |
%29 = phi i64* [ %39, %NOEX_BB15 ], [ %35, %BB8 ], [ %26, %BB34 ] | |
ret i64* %29 | |
EX_BB9: ; preds = %BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %30 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %BB7 | |
%31 = bitcast i64* %arg_currTask to i32* | |
%32 = getelementptr i32, i32* %31, i32 17 | |
%t32 = load volatile i32, i32* %32 | |
fence acquire | |
fence acquire | |
%t39 = and i32 %t32, 65535 | |
%t42 = and i32 %t39, -65281 | |
%t44 = and i32 %t42, 16 | |
%33 = icmp ne i32 %t44, 0 | |
br i1 %33, label %BB6, label %BB8 | |
BB8: ; preds = %NOEX_BB11 | |
%34 = getelementptr i64, i64* %arg_currTask, i32 4 | |
%t62 = load volatile i64, i64* %34 | |
%35 = inttoptr i64 %t62 to i64* | |
br label %BB1 | |
EX_BB13: ; preds = %BB5 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%36 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %36 to void ()* | |
call void %JIT_ICALL_ADDR_222() | |
unreachable | |
NOEX_BB15: ; preds = %BB5 | |
%37 = inttoptr i64 %17 to i64* | |
%38 = getelementptr i64, i64* %37, i32 3 | |
%t60 = load volatile i64, i64* %38 | |
%39 = inttoptr i64 %t60 to i64* | |
br label %BB1 | |
NOTINITED_BB17: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 44, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_TaskFactory_1_TResult_INST__ctor(i64* %this) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 45) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %14, i8 0, i32 8, i32 0, i1 false) | |
%15 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%16 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* %15, i32 8, i32 0, i1 false) | |
%17 = icmp eq i64 %13, 0 | |
br i1 %17, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %18 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%19 = load volatile i64, i64* %2 | |
%20 = inttoptr i64 %19 to i64* | |
%t24 = load i64, i64* %20 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 79) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %21 to i64 (i64, i64)* | |
%22 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%23 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t24, i64 %22) | |
%24 = inttoptr i64 %23 to i64* | |
%t29 = load i64, i64* %24 | |
%25 = inttoptr i64 %23 to i64* | |
%26 = getelementptr i64, i64* %25, i32 1 | |
%t31 = load i64, i64* %26 | |
%27 = inttoptr i64 %t29 to void (i64*, i64, i32, i32, i64*, i64*)* | |
%28 = inttoptr i64 %13 to i64* | |
%29 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%30 = getelementptr i64, i64* %29, i32 0 | |
%31 = load i64, i64* %30 | |
%32 = inttoptr i64 %t31 to i64* | |
notail call void %27(i64* %28, i64 %31, i32 0, i32 0, i64* null, i64* %32) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 45, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_TaskFactory_1_TResult_INST__ctor_System_Threading_CancellationToken(i64* %this, i64 %arg_cancellationToken) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 46) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = icmp eq i64 %13, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %15 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%16 = load volatile i64, i64* %2 | |
%17 = inttoptr i64 %16 to i64* | |
%t24 = load i64, i64* %17 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 79) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %18 to i64 (i64, i64)* | |
%19 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%20 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t24, i64 %19) | |
%21 = inttoptr i64 %20 to i64* | |
%t29 = load i64, i64* %21 | |
%22 = inttoptr i64 %20 to i64* | |
%23 = getelementptr i64, i64* %22, i32 1 | |
%t31 = load i64, i64* %23 | |
%24 = inttoptr i64 %t29 to void (i64*, i64, i32, i32, i64*, i64*)* | |
%25 = inttoptr i64 %13 to i64* | |
%26 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%27 = getelementptr i64, i64* %26, i32 0 | |
%28 = load i64, i64* %27 | |
%29 = inttoptr i64 %t31 to i64* | |
notail call void %24(i64* %25, i64 %28, i32 0, i32 0, i64* null, i64* %29) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 46, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_TaskFactory_1_TResult_INST__ctor_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 47) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %14, i8 0, i32 8, i32 0, i1 false) | |
%15 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%16 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* %15, i32 8, i32 0, i1 false) | |
%17 = icmp eq i64 %13, 0 | |
br i1 %17, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %18 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%19 = load volatile i64, i64* %2 | |
%20 = inttoptr i64 %19 to i64* | |
%t25 = load i64, i64* %20 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 79) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %21 to i64 (i64, i64)* | |
%22 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%23 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t25, i64 %22) | |
%24 = inttoptr i64 %23 to i64* | |
%t30 = load i64, i64* %24 | |
%25 = inttoptr i64 %23 to i64* | |
%26 = getelementptr i64, i64* %25, i32 1 | |
%t32 = load i64, i64* %26 | |
%27 = inttoptr i64 %t30 to void (i64*, i64, i32, i32, i64*, i64*)* | |
%28 = inttoptr i64 %13 to i64* | |
%29 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%30 = getelementptr i64, i64* %29, i32 0 | |
%31 = load i64, i64* %30 | |
%32 = inttoptr i64 %t32 to i64* | |
notail call void %27(i64* %28, i64 %31, i32 0, i32 0, i64* %arg_scheduler, i64* %32) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 47, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_TaskFactory_1_TResult_INST__ctor_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_TaskContinuationOptions(i64* %this, i32 %arg_creationOptions, i32 %arg_continuationOptions) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 48) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
%14 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %14, i8 0, i32 8, i32 0, i1 false) | |
%15 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%16 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* %15, i32 8, i32 0, i1 false) | |
%17 = icmp eq i64 %13, 0 | |
br i1 %17, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %18 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%19 = load volatile i64, i64* %2 | |
%20 = inttoptr i64 %19 to i64* | |
%t26 = load i64, i64* %20 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 79) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %21 to i64 (i64, i64)* | |
%22 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%23 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t26, i64 %22) | |
%24 = inttoptr i64 %23 to i64* | |
%t31 = load i64, i64* %24 | |
%25 = inttoptr i64 %23 to i64* | |
%26 = getelementptr i64, i64* %25, i32 1 | |
%t33 = load i64, i64* %26 | |
%27 = inttoptr i64 %t31 to void (i64*, i64, i32, i32, i64*, i64*)* | |
%28 = inttoptr i64 %13 to i64* | |
%29 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%30 = getelementptr i64, i64* %29, i32 0 | |
%31 = load i64, i64* %30 | |
%32 = inttoptr i64 %t33 to i64* | |
notail call void %27(i64* %28, i64 %31, i32 %arg_creationOptions, i32 %arg_continuationOptions, i64* null, i64* %32) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 48, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_TaskFactory_1_TResult_INST__ctor_System_Threading_CancellationToken_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_TaskContinuationOptions_System_Threading_Tasks_TaskScheduler(i64* %this, i64 %arg_cancellationToken, i32 %arg_creationOptions, i32 %arg_continuationOptions, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 49) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB21, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB21, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 80) | |
%METHOD_80 = bitcast i64* %13 to void (i32)* | |
notail call void %METHOD_80(i32 %arg_continuationOptions) | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 81) | |
%METHOD_81 = bitcast i64* %14 to void (i32)* | |
notail call void %METHOD_81(i32 %arg_creationOptions) | |
%15 = load volatile i64, i64* %2 | |
%16 = icmp eq i64 %15, 0 | |
br i1 %16, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%t52 = add i64 %15, 16 | |
%18 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%t54 = load i64, i64* %18 | |
%19 = inttoptr i64 %t52 to i64* | |
%20 = getelementptr i64, i64* %19, i32 0 | |
store i64 %t54, i64* %20 | |
%t55 = lshr i64 %t52, 9 | |
%t551 = and i64 %t55, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%21 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t552 = add i64 %t551, %21 | |
%22 = inttoptr i64 %t552 to i8* | |
%23 = getelementptr i8, i8* %22, i32 0 | |
store i8 1, i8* %23 | |
%24 = load volatile i64, i64* %2 | |
%25 = icmp eq i64 %24, 0 | |
br i1 %25, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%27 = inttoptr i64 %24 to i64* | |
%28 = getelementptr i64, i64* %27, i32 3 | |
%29 = ptrtoint i64* %arg_scheduler to i64 | |
store volatile i64 %29, i64* %28 | |
%t41 = add i64 %24, 24 | |
%t42 = lshr i64 %t41, 9 | |
%t49 = and i64 %t42, 8388607 | |
%GC_CARD_TABLE_ADDR_24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%30 = ptrtoint i64* %GC_CARD_TABLE_ADDR_24 to i64 | |
%t50 = add i64 %t49, %30 | |
%31 = inttoptr i64 %t50 to i8* | |
%32 = getelementptr i8, i8* %31, i32 0 | |
store i8 1, i8* %32 | |
%33 = load volatile i64, i64* %2 | |
%34 = icmp eq i64 %33, 0 | |
br i1 %34, label %EX_BB13, label %NOEX_BB15 | |
EX_BB13: ; preds = %NOEX_BB11 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %35 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB15: ; preds = %NOEX_BB11 | |
%36 = inttoptr i64 %33 to i32* | |
%37 = getelementptr i32, i32* %36, i32 8 | |
store volatile i32 %arg_creationOptions, i32* %37 | |
%38 = load volatile i64, i64* %2 | |
%39 = icmp eq i64 %38, 0 | |
br i1 %39, label %EX_BB17, label %NOEX_BB19 | |
EX_BB17: ; preds = %NOEX_BB15 | |
br label %EX2_BB18 | |
EX2_BB18: ; preds = %EX_BB17 | |
%40 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_226 = bitcast i64* %40 to void ()* | |
call void %JIT_ICALL_ADDR_226() | |
unreachable | |
NOEX_BB19: ; preds = %NOEX_BB15 | |
%41 = inttoptr i64 %38 to i32* | |
%42 = getelementptr i32, i32* %41, i32 9 | |
store volatile i32 %arg_continuationOptions, i32* %42 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB19 | |
ret void | |
NOTINITED_BB21: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 49, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal { i64 } @System_Threading_Tasks_TaskFactory_1_TResult_INST_get_CancellationToken(i64* %this) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i64, align 8 | |
%2 = alloca %System.Threading.CancellationToken, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %1 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 50) | |
%5 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%6 = icmp eq i8 %5, 0 | |
br i1 %6, label %NOTINITED_BB7, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB7, %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%7 = load volatile i64, i64* %1 | |
%8 = icmp eq i64 %7, 0 | |
br i1 %8, label %EX_BB3, label %NOEX_BB5 | |
EX_BB3: ; preds = %BB2 | |
br label %EX2_BB4 | |
EX2_BB4: ; preds = %EX_BB3 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %9 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB5: ; preds = %BB2 | |
%10 = add i64 %7, 16 | |
%11 = inttoptr i64 %10 to i8* | |
%12 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %12, i8* %11, i32 8, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB5 | |
%13 = bitcast %System.Threading.CancellationToken* %0 to { i64 }* | |
%14 = getelementptr { i64 }, { i64 }* %13, i32 0, i32 0 | |
%15 = load i64, i64* %14 | |
%16 = insertvalue { i64 } undef, i64 %15, 0 | |
ret { i64 } %16 | |
NOTINITED_BB7: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 50, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_get_Scheduler(i64* %this) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 51) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB7, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB7, %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%5 = load volatile i64, i64* %0 | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %EX_BB3, label %NOEX_BB5 | |
EX_BB3: ; preds = %BB2 | |
br label %EX2_BB4 | |
EX2_BB4: ; preds = %EX_BB3 | |
%7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %7 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB5: ; preds = %BB2 | |
%8 = inttoptr i64 %5 to i64* | |
%9 = getelementptr i64, i64* %8, i32 3 | |
%t20 = load volatile i64, i64* %9 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB5 | |
%10 = inttoptr i64 %t20 to i64* | |
ret i64* %10 | |
NOTINITED_BB7: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 51, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i32 @System_Threading_Tasks_TaskFactory_1_TResult_INST_get_CreationOptions(i64* %this) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 52) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB7, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB7, %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%5 = load volatile i64, i64* %0 | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %EX_BB3, label %NOEX_BB5 | |
EX_BB3: ; preds = %BB2 | |
br label %EX2_BB4 | |
EX2_BB4: ; preds = %EX_BB3 | |
%7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %7 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB5: ; preds = %BB2 | |
%8 = inttoptr i64 %5 to i32* | |
%9 = getelementptr i32, i32* %8, i32 8 | |
%t20 = load volatile i32, i32* %9 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB5 | |
ret i32 %t20 | |
NOTINITED_BB7: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 52, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i32 @System_Threading_Tasks_TaskFactory_1_TResult_INST_get_ContinuationOptions(i64* %this) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 53) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB7, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB7, %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%5 = load volatile i64, i64* %0 | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %EX_BB3, label %NOEX_BB5 | |
EX_BB3: ; preds = %BB2 | |
br label %EX2_BB4 | |
EX2_BB4: ; preds = %EX_BB3 | |
%7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %7 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB5: ; preds = %BB2 | |
%8 = inttoptr i64 %5 to i32* | |
%9 = getelementptr i32, i32* %8, i32 9 | |
%t20 = load volatile i32, i32* %9 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB5 | |
ret i32 %t20 | |
NOTINITED_BB7: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 53, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_StartNew_System_Func_1_TResult_INST(i64* %this, i64* %arg_function) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
%3 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 54) | |
%4 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%5 = icmp eq i8 %4, 0 | |
br i1 %5, label %NOTINITED_BB17, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB17, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%6 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%7 = icmp eq i64 %6, 0 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %9 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%10 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%11 = notail call i64 %10() | |
%12 = inttoptr i64 %11 to i64* | |
%13 = getelementptr i64, i64* %12, i32 12 | |
%t23 = load i64, i64* %13 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%14 = ptrtoint i64* %SFLDA_35 to i64 | |
%t77 = and i64 %14, 2147483647 | |
%t25 = and i64 %t77, 63 | |
%t78 = shl i64 %t25, 3 | |
%t79 = add i64 %t23, %t78 | |
%15 = inttoptr i64 %t79 to i64* | |
%t26 = load i64, i64* %15 | |
%16 = trunc i64 %t77 to i32 | |
%t27 = lshr i32 %16, 6 | |
%t80 = and i32 %t27, 33554431 | |
%17 = sext i32 %t80 to i64 | |
%t28 = add i64 %t26, %17 | |
%18 = inttoptr i64 %t28 to i64* | |
%t19 = load i64, i64* %18 | |
%19 = load volatile i64, i64* %0 | |
%20 = icmp eq i64 %19, 0 | |
br i1 %20, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %21 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%22 = add i64 %19, 16 | |
%23 = inttoptr i64 %22 to i8* | |
%24 = bitcast %System.Threading.CancellationToken* %3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %23, i32 8, i32 0, i1 false) | |
%25 = load volatile i64, i64* %0 | |
%26 = icmp eq i64 %25, 0 | |
br i1 %26, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %27 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%28 = inttoptr i64 %25 to i32* | |
%29 = getelementptr i32, i32* %28, i32 8 | |
%t36 = load volatile i32, i32* %29 | |
%30 = load volatile i64, i64* %0 | |
%31 = icmp eq i64 %30, 0 | |
br i1 %31, label %EX_BB13, label %NOEX_BB15 | |
EX_BB13: ; preds = %NOEX_BB11 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %32 to void ()* | |
call void %JIT_ICALL_ADDR_222() | |
unreachable | |
NOEX_BB15: ; preds = %NOEX_BB11 | |
%33 = load volatile i64, i64* %0 | |
%34 = inttoptr i64 %33 to i64* | |
%t41 = load i64, i64* %34 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 82) | |
%35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %35 to i64 (i64, i64)* | |
%36 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%37 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t41, i64 %36) | |
%38 = inttoptr i64 %37 to i64* | |
%t46 = load i64, i64* %38 | |
%39 = inttoptr i64 %37 to i64* | |
%40 = getelementptr i64, i64* %39, i32 1 | |
%t48 = load i64, i64* %40 | |
%41 = inttoptr i64 %t46 to i64* (i64*, i64*, i64*)* | |
%42 = inttoptr i64 %30 to i64* | |
%43 = inttoptr i64 %t19 to i64* | |
%44 = inttoptr i64 %t48 to i64* | |
%45 = notail call i64* %41(i64* %42, i64* %43, i64* %44) | |
%46 = load volatile i64, i64* %0 | |
%47 = inttoptr i64 %46 to i64* | |
%t54 = load i64, i64* %47 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%48 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx3 = bitcast i64* %48 to i64 (i64, i64)* | |
%49 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%50 = notail call i64 %jit_icall_mono_fill_class_rgctx3(i64 %t54, i64 %49) | |
%51 = load volatile i64, i64* %0 | |
%52 = inttoptr i64 %51 to i64* | |
%t60 = load i64, i64* %52 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC4 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 84) | |
%53 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx5 = bitcast i64* %53 to i64 (i64, i64)* | |
%54 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC4 to i64 | |
%55 = notail call i64 %jit_icall_mono_fill_class_rgctx5(i64 %t60, i64 %54) | |
%56 = inttoptr i64 %55 to i64* | |
%t65 = load i64, i64* %56 | |
%57 = inttoptr i64 %55 to i64* | |
%58 = getelementptr i64, i64* %57, i32 1 | |
%t67 = load i64, i64* %58 | |
%59 = inttoptr i64 %t65 to i64* (i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%60 = inttoptr i64 %t19 to i64* | |
%61 = bitcast %System.Threading.CancellationToken* %3 to i64* | |
%62 = getelementptr i64, i64* %61, i32 0 | |
%63 = load i64, i64* %62 | |
%64 = inttoptr i64 %t67 to i64* | |
%65 = notail call i64* %59(i64* %60, i64* %arg_function, i64 %63, i32 %t36, i32 0, i64* %45, i64* %64) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB15 | |
ret i64* %65 | |
NOTINITED_BB17: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 54, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_StartNew_System_Func_1_TResult_INST_System_Threading_CancellationToken(i64* %this, i64* %arg_function, i64 %arg_cancellationToken) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 55) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%13 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%14 = notail call i64 %13() | |
%15 = inttoptr i64 %14 to i64* | |
%16 = getelementptr i64, i64* %15, i32 12 | |
%t24 = load i64, i64* %16 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%17 = ptrtoint i64* %SFLDA_35 to i64 | |
%t77 = and i64 %17, 2147483647 | |
%t26 = and i64 %t77, 63 | |
%t78 = shl i64 %t26, 3 | |
%t79 = add i64 %t24, %t78 | |
%18 = inttoptr i64 %t79 to i64* | |
%t27 = load i64, i64* %18 | |
%19 = trunc i64 %t77 to i32 | |
%t28 = lshr i32 %19, 6 | |
%t80 = and i32 %t28, 33554431 | |
%20 = sext i32 %t80 to i64 | |
%t29 = add i64 %t27, %20 | |
%21 = inttoptr i64 %t29 to i64* | |
%t20 = load i64, i64* %21 | |
%22 = load volatile i64, i64* %2 | |
%23 = icmp eq i64 %22, 0 | |
br i1 %23, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %24 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%25 = inttoptr i64 %22 to i32* | |
%26 = getelementptr i32, i32* %25, i32 8 | |
%t36 = load volatile i32, i32* %26 | |
%27 = load volatile i64, i64* %2 | |
%28 = icmp eq i64 %27, 0 | |
br i1 %28, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%29 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %29 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%30 = load volatile i64, i64* %2 | |
%31 = inttoptr i64 %30 to i64* | |
%t41 = load i64, i64* %31 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 82) | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %32 to i64 (i64, i64)* | |
%33 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%34 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t41, i64 %33) | |
%35 = inttoptr i64 %34 to i64* | |
%t46 = load i64, i64* %35 | |
%36 = inttoptr i64 %34 to i64* | |
%37 = getelementptr i64, i64* %36, i32 1 | |
%t48 = load i64, i64* %37 | |
%38 = inttoptr i64 %t46 to i64* (i64*, i64*, i64*)* | |
%39 = inttoptr i64 %27 to i64* | |
%40 = inttoptr i64 %t20 to i64* | |
%41 = inttoptr i64 %t48 to i64* | |
%42 = notail call i64* %38(i64* %39, i64* %40, i64* %41) | |
%43 = load volatile i64, i64* %2 | |
%44 = inttoptr i64 %43 to i64* | |
%t54 = load i64, i64* %44 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%45 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %45 to i64 (i64, i64)* | |
%46 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%47 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %t54, i64 %46) | |
%48 = load volatile i64, i64* %2 | |
%49 = inttoptr i64 %48 to i64* | |
%t60 = load i64, i64* %49 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 84) | |
%50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %50 to i64 (i64, i64)* | |
%51 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC3 to i64 | |
%52 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %t60, i64 %51) | |
%53 = inttoptr i64 %52 to i64* | |
%t65 = load i64, i64* %53 | |
%54 = inttoptr i64 %52 to i64* | |
%55 = getelementptr i64, i64* %54, i32 1 | |
%t67 = load i64, i64* %55 | |
%56 = inttoptr i64 %t65 to i64* (i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%57 = inttoptr i64 %t20 to i64* | |
%58 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%59 = getelementptr i64, i64* %58, i32 0 | |
%60 = load i64, i64* %59 | |
%61 = inttoptr i64 %t67 to i64* | |
%62 = notail call i64* %56(i64* %57, i64* %arg_function, i64 %60, i32 %t36, i32 0, i64* %42, i64* %61) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11 | |
ret i64* %62 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 55, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_StartNew_System_Func_1_TResult_INST_System_Threading_Tasks_TaskCreationOptions(i64* %this, i64* %arg_function, i32 %arg_creationOptions) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
%3 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 56) | |
%4 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%5 = icmp eq i8 %4, 0 | |
br i1 %5, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%6 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%7 = icmp eq i64 %6, 0 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %9 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%10 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%11 = notail call i64 %10() | |
%12 = inttoptr i64 %11 to i64* | |
%13 = getelementptr i64, i64* %12, i32 12 | |
%t24 = load i64, i64* %13 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%14 = ptrtoint i64* %SFLDA_35 to i64 | |
%t77 = and i64 %14, 2147483647 | |
%t26 = and i64 %t77, 63 | |
%t78 = shl i64 %t26, 3 | |
%t79 = add i64 %t24, %t78 | |
%15 = inttoptr i64 %t79 to i64* | |
%t27 = load i64, i64* %15 | |
%16 = trunc i64 %t77 to i32 | |
%t28 = lshr i32 %16, 6 | |
%t80 = and i32 %t28, 33554431 | |
%17 = sext i32 %t80 to i64 | |
%t29 = add i64 %t27, %17 | |
%18 = inttoptr i64 %t29 to i64* | |
%t20 = load i64, i64* %18 | |
%19 = load volatile i64, i64* %0 | |
%20 = icmp eq i64 %19, 0 | |
br i1 %20, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %21 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%22 = add i64 %19, 16 | |
%23 = inttoptr i64 %22 to i8* | |
%24 = bitcast %System.Threading.CancellationToken* %3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %23, i32 8, i32 0, i1 false) | |
%25 = load volatile i64, i64* %0 | |
%26 = icmp eq i64 %25, 0 | |
br i1 %26, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %27 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%28 = load volatile i64, i64* %0 | |
%29 = inttoptr i64 %28 to i64* | |
%t41 = load i64, i64* %29 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 82) | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %30 to i64 (i64, i64)* | |
%31 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%32 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t41, i64 %31) | |
%33 = inttoptr i64 %32 to i64* | |
%t46 = load i64, i64* %33 | |
%34 = inttoptr i64 %32 to i64* | |
%35 = getelementptr i64, i64* %34, i32 1 | |
%t48 = load i64, i64* %35 | |
%36 = inttoptr i64 %t46 to i64* (i64*, i64*, i64*)* | |
%37 = inttoptr i64 %25 to i64* | |
%38 = inttoptr i64 %t20 to i64* | |
%39 = inttoptr i64 %t48 to i64* | |
%40 = notail call i64* %36(i64* %37, i64* %38, i64* %39) | |
%41 = load volatile i64, i64* %0 | |
%42 = inttoptr i64 %41 to i64* | |
%t54 = load i64, i64* %42 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%43 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %43 to i64 (i64, i64)* | |
%44 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%45 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %t54, i64 %44) | |
%46 = load volatile i64, i64* %0 | |
%47 = inttoptr i64 %46 to i64* | |
%t60 = load i64, i64* %47 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 84) | |
%48 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %48 to i64 (i64, i64)* | |
%49 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC3 to i64 | |
%50 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %t60, i64 %49) | |
%51 = inttoptr i64 %50 to i64* | |
%t65 = load i64, i64* %51 | |
%52 = inttoptr i64 %50 to i64* | |
%53 = getelementptr i64, i64* %52, i32 1 | |
%t67 = load i64, i64* %53 | |
%54 = inttoptr i64 %t65 to i64* (i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%55 = inttoptr i64 %t20 to i64* | |
%56 = bitcast %System.Threading.CancellationToken* %3 to i64* | |
%57 = getelementptr i64, i64* %56, i32 0 | |
%58 = load i64, i64* %57 | |
%59 = inttoptr i64 %t67 to i64* | |
%60 = notail call i64* %54(i64* %55, i64* %arg_function, i64 %58, i32 %arg_creationOptions, i32 0, i64* %40, i64* %59) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11 | |
ret i64* %60 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 56, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_StartNew_System_Func_1_TResult_INST_System_Threading_CancellationToken_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_function, i64 %arg_cancellationToken, i32 %arg_creationOptions, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 57) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
br label %BB7 | |
BB7: ; preds = %BB2 | |
%t27 = and i32 %arg_creationOptions, 4 | |
%13 = icmp ne i32 %t27, 0 | |
br i1 %13, label %BB9, label %BB10 | |
BB9: ; preds = %BB7 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%14 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%15 = notail call i64 %14() | |
%16 = inttoptr i64 %15 to i64* | |
%17 = getelementptr i64, i64* %16, i32 12 | |
%t32 = load i64, i64* %17 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%18 = ptrtoint i64* %SFLDA_35 to i64 | |
%t72 = and i64 %18, 2147483647 | |
%t34 = and i64 %t72, 63 | |
%t73 = shl i64 %t34, 3 | |
%t74 = add i64 %t32, %t73 | |
%19 = inttoptr i64 %t74 to i64* | |
%t35 = load i64, i64* %19 | |
%20 = trunc i64 %t72 to i32 | |
%t36 = lshr i32 %20, 6 | |
%t75 = and i32 %t36, 33554431 | |
%21 = sext i32 %t75 to i64 | |
%t37 = add i64 %t35, %21 | |
%22 = inttoptr i64 %t37 to i64* | |
%t76 = load i64, i64* %22 | |
%23 = inttoptr i64 %t76 to i64* | |
br label %BB6 | |
BB10: ; preds = %BB7 | |
br label %BB6 | |
BB6: ; preds = %BB10, %BB9 | |
%24 = phi i64* [ null, %BB10 ], [ %23, %BB9 ] | |
%25 = load volatile i64, i64* %2 | |
%26 = inttoptr i64 %25 to i64* | |
%t47 = load i64, i64* %26 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %27 to i64 (i64, i64)* | |
%28 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%29 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t47, i64 %28) | |
%30 = load volatile i64, i64* %2 | |
%31 = inttoptr i64 %30 to i64* | |
%t53 = load i64, i64* %31 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 84) | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %32 to i64 (i64, i64)* | |
%33 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%34 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t53, i64 %33) | |
%35 = inttoptr i64 %34 to i64* | |
%t58 = load i64, i64* %35 | |
%36 = inttoptr i64 %34 to i64* | |
%37 = getelementptr i64, i64* %36, i32 1 | |
%t60 = load i64, i64* %37 | |
%38 = inttoptr i64 %t58 to i64* (i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%39 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%40 = getelementptr i64, i64* %39, i32 0 | |
%41 = load i64, i64* %40 | |
%42 = inttoptr i64 %t60 to i64* | |
%43 = notail call i64* %38(i64* %24, i64* %arg_function, i64 %41, i32 %arg_creationOptions, i32 0, i64* %arg_scheduler, i64* %42) | |
br label %BB1 | |
BB1: ; preds = %BB6 | |
ret i64* %43 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 57, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_StartNew_System_Func_2_object_TResult_INST_object(i64* %this, i64* %arg_function, i64* %arg_state) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
%3 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 58) | |
%4 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%5 = icmp eq i8 %4, 0 | |
br i1 %5, label %NOTINITED_BB17, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB17, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%6 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%7 = icmp eq i64 %6, 0 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %9 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%10 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%11 = notail call i64 %10() | |
%12 = inttoptr i64 %11 to i64* | |
%13 = getelementptr i64, i64* %12, i32 12 | |
%t24 = load i64, i64* %13 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%14 = ptrtoint i64* %SFLDA_35 to i64 | |
%t80 = and i64 %14, 2147483647 | |
%t26 = and i64 %t80, 63 | |
%t81 = shl i64 %t26, 3 | |
%t82 = add i64 %t24, %t81 | |
%15 = inttoptr i64 %t82 to i64* | |
%t27 = load i64, i64* %15 | |
%16 = trunc i64 %t80 to i32 | |
%t28 = lshr i32 %16, 6 | |
%t83 = and i32 %t28, 33554431 | |
%17 = sext i32 %t83 to i64 | |
%t29 = add i64 %t27, %17 | |
%18 = inttoptr i64 %t29 to i64* | |
%t20 = load i64, i64* %18 | |
%19 = load volatile i64, i64* %0 | |
%20 = icmp eq i64 %19, 0 | |
br i1 %20, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %21 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%22 = add i64 %19, 16 | |
%23 = inttoptr i64 %22 to i8* | |
%24 = bitcast %System.Threading.CancellationToken* %3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %23, i32 8, i32 0, i1 false) | |
%25 = load volatile i64, i64* %0 | |
%26 = icmp eq i64 %25, 0 | |
br i1 %26, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %27 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%28 = inttoptr i64 %25 to i32* | |
%29 = getelementptr i32, i32* %28, i32 8 | |
%t38 = load volatile i32, i32* %29 | |
%30 = load volatile i64, i64* %0 | |
%31 = icmp eq i64 %30, 0 | |
br i1 %31, label %EX_BB13, label %NOEX_BB15 | |
EX_BB13: ; preds = %NOEX_BB11 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %32 to void ()* | |
call void %JIT_ICALL_ADDR_222() | |
unreachable | |
NOEX_BB15: ; preds = %NOEX_BB11 | |
%33 = load volatile i64, i64* %0 | |
%34 = inttoptr i64 %33 to i64* | |
%t43 = load i64, i64* %34 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 82) | |
%35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %35 to i64 (i64, i64)* | |
%36 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%37 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t43, i64 %36) | |
%38 = inttoptr i64 %37 to i64* | |
%t48 = load i64, i64* %38 | |
%39 = inttoptr i64 %37 to i64* | |
%40 = getelementptr i64, i64* %39, i32 1 | |
%t50 = load i64, i64* %40 | |
%41 = inttoptr i64 %t48 to i64* (i64*, i64*, i64*)* | |
%42 = inttoptr i64 %30 to i64* | |
%43 = inttoptr i64 %t20 to i64* | |
%44 = inttoptr i64 %t50 to i64* | |
%45 = notail call i64* %41(i64* %42, i64* %43, i64* %44) | |
%46 = load volatile i64, i64* %0 | |
%47 = inttoptr i64 %46 to i64* | |
%t56 = load i64, i64* %47 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%48 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx3 = bitcast i64* %48 to i64 (i64, i64)* | |
%49 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%50 = notail call i64 %jit_icall_mono_fill_class_rgctx3(i64 %t56, i64 %49) | |
%51 = load volatile i64, i64* %0 | |
%52 = inttoptr i64 %51 to i64* | |
%t62 = load i64, i64* %52 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC4 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 85) | |
%53 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx5 = bitcast i64* %53 to i64 (i64, i64)* | |
%54 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC4 to i64 | |
%55 = notail call i64 %jit_icall_mono_fill_class_rgctx5(i64 %t62, i64 %54) | |
%56 = inttoptr i64 %55 to i64* | |
%t67 = load i64, i64* %56 | |
%57 = inttoptr i64 %55 to i64* | |
%58 = getelementptr i64, i64* %57, i32 1 | |
%t69 = load i64, i64* %58 | |
%59 = inttoptr i64 %t67 to i64* (i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%60 = inttoptr i64 %t20 to i64* | |
%61 = bitcast %System.Threading.CancellationToken* %3 to i64* | |
%62 = getelementptr i64, i64* %61, i32 0 | |
%63 = load i64, i64* %62 | |
%64 = inttoptr i64 %t69 to i64* | |
%65 = notail call i64* %59(i64* %60, i64* %arg_function, i64* %arg_state, i64 %63, i32 %t38, i32 0, i64* %45, i64* %64) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB15 | |
ret i64* %65 | |
NOTINITED_BB17: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 58, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_StartNew_System_Func_2_object_TResult_INST_object_System_Threading_CancellationToken(i64* %this, i64* %arg_function, i64* %arg_state, i64 %arg_cancellationToken) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 59) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%13 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%14 = notail call i64 %13() | |
%15 = inttoptr i64 %14 to i64* | |
%16 = getelementptr i64, i64* %15, i32 12 | |
%t25 = load i64, i64* %16 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%17 = ptrtoint i64* %SFLDA_35 to i64 | |
%t80 = and i64 %17, 2147483647 | |
%t27 = and i64 %t80, 63 | |
%t81 = shl i64 %t27, 3 | |
%t82 = add i64 %t25, %t81 | |
%18 = inttoptr i64 %t82 to i64* | |
%t28 = load i64, i64* %18 | |
%19 = trunc i64 %t80 to i32 | |
%t29 = lshr i32 %19, 6 | |
%t83 = and i32 %t29, 33554431 | |
%20 = sext i32 %t83 to i64 | |
%t30 = add i64 %t28, %20 | |
%21 = inttoptr i64 %t30 to i64* | |
%t21 = load i64, i64* %21 | |
%22 = load volatile i64, i64* %2 | |
%23 = icmp eq i64 %22, 0 | |
br i1 %23, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %24 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%25 = inttoptr i64 %22 to i32* | |
%26 = getelementptr i32, i32* %25, i32 8 | |
%t38 = load volatile i32, i32* %26 | |
%27 = load volatile i64, i64* %2 | |
%28 = icmp eq i64 %27, 0 | |
br i1 %28, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%29 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %29 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%30 = load volatile i64, i64* %2 | |
%31 = inttoptr i64 %30 to i64* | |
%t43 = load i64, i64* %31 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 82) | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %32 to i64 (i64, i64)* | |
%33 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%34 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t43, i64 %33) | |
%35 = inttoptr i64 %34 to i64* | |
%t48 = load i64, i64* %35 | |
%36 = inttoptr i64 %34 to i64* | |
%37 = getelementptr i64, i64* %36, i32 1 | |
%t50 = load i64, i64* %37 | |
%38 = inttoptr i64 %t48 to i64* (i64*, i64*, i64*)* | |
%39 = inttoptr i64 %27 to i64* | |
%40 = inttoptr i64 %t21 to i64* | |
%41 = inttoptr i64 %t50 to i64* | |
%42 = notail call i64* %38(i64* %39, i64* %40, i64* %41) | |
%43 = load volatile i64, i64* %2 | |
%44 = inttoptr i64 %43 to i64* | |
%t56 = load i64, i64* %44 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%45 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %45 to i64 (i64, i64)* | |
%46 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%47 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %t56, i64 %46) | |
%48 = load volatile i64, i64* %2 | |
%49 = inttoptr i64 %48 to i64* | |
%t62 = load i64, i64* %49 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 85) | |
%50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %50 to i64 (i64, i64)* | |
%51 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC3 to i64 | |
%52 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %t62, i64 %51) | |
%53 = inttoptr i64 %52 to i64* | |
%t67 = load i64, i64* %53 | |
%54 = inttoptr i64 %52 to i64* | |
%55 = getelementptr i64, i64* %54, i32 1 | |
%t69 = load i64, i64* %55 | |
%56 = inttoptr i64 %t67 to i64* (i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%57 = inttoptr i64 %t21 to i64* | |
%58 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%59 = getelementptr i64, i64* %58, i32 0 | |
%60 = load i64, i64* %59 | |
%61 = inttoptr i64 %t69 to i64* | |
%62 = notail call i64* %56(i64* %57, i64* %arg_function, i64* %arg_state, i64 %60, i32 %t38, i32 0, i64* %42, i64* %61) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11 | |
ret i64* %62 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 59, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_StartNew_System_Func_2_object_TResult_INST_object_System_Threading_Tasks_TaskCreationOptions(i64* %this, i64* %arg_function, i64* %arg_state, i32 %arg_creationOptions) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
%3 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 60) | |
%4 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%5 = icmp eq i8 %4, 0 | |
br i1 %5, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%6 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%7 = icmp eq i64 %6, 0 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %9 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%10 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%11 = notail call i64 %10() | |
%12 = inttoptr i64 %11 to i64* | |
%13 = getelementptr i64, i64* %12, i32 12 | |
%t25 = load i64, i64* %13 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%14 = ptrtoint i64* %SFLDA_35 to i64 | |
%t80 = and i64 %14, 2147483647 | |
%t27 = and i64 %t80, 63 | |
%t81 = shl i64 %t27, 3 | |
%t82 = add i64 %t25, %t81 | |
%15 = inttoptr i64 %t82 to i64* | |
%t28 = load i64, i64* %15 | |
%16 = trunc i64 %t80 to i32 | |
%t29 = lshr i32 %16, 6 | |
%t83 = and i32 %t29, 33554431 | |
%17 = sext i32 %t83 to i64 | |
%t30 = add i64 %t28, %17 | |
%18 = inttoptr i64 %t30 to i64* | |
%t21 = load i64, i64* %18 | |
%19 = load volatile i64, i64* %0 | |
%20 = icmp eq i64 %19, 0 | |
br i1 %20, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %21 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%22 = add i64 %19, 16 | |
%23 = inttoptr i64 %22 to i8* | |
%24 = bitcast %System.Threading.CancellationToken* %3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %23, i32 8, i32 0, i1 false) | |
%25 = load volatile i64, i64* %0 | |
%26 = icmp eq i64 %25, 0 | |
br i1 %26, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %27 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%28 = load volatile i64, i64* %0 | |
%29 = inttoptr i64 %28 to i64* | |
%t43 = load i64, i64* %29 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 82) | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %30 to i64 (i64, i64)* | |
%31 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%32 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t43, i64 %31) | |
%33 = inttoptr i64 %32 to i64* | |
%t48 = load i64, i64* %33 | |
%34 = inttoptr i64 %32 to i64* | |
%35 = getelementptr i64, i64* %34, i32 1 | |
%t50 = load i64, i64* %35 | |
%36 = inttoptr i64 %t48 to i64* (i64*, i64*, i64*)* | |
%37 = inttoptr i64 %25 to i64* | |
%38 = inttoptr i64 %t21 to i64* | |
%39 = inttoptr i64 %t50 to i64* | |
%40 = notail call i64* %36(i64* %37, i64* %38, i64* %39) | |
%41 = load volatile i64, i64* %0 | |
%42 = inttoptr i64 %41 to i64* | |
%t56 = load i64, i64* %42 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%43 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %43 to i64 (i64, i64)* | |
%44 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%45 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %t56, i64 %44) | |
%46 = load volatile i64, i64* %0 | |
%47 = inttoptr i64 %46 to i64* | |
%t62 = load i64, i64* %47 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 85) | |
%48 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %48 to i64 (i64, i64)* | |
%49 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC3 to i64 | |
%50 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %t62, i64 %49) | |
%51 = inttoptr i64 %50 to i64* | |
%t67 = load i64, i64* %51 | |
%52 = inttoptr i64 %50 to i64* | |
%53 = getelementptr i64, i64* %52, i32 1 | |
%t69 = load i64, i64* %53 | |
%54 = inttoptr i64 %t67 to i64* (i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%55 = inttoptr i64 %t21 to i64* | |
%56 = bitcast %System.Threading.CancellationToken* %3 to i64* | |
%57 = getelementptr i64, i64* %56, i32 0 | |
%58 = load i64, i64* %57 | |
%59 = inttoptr i64 %t69 to i64* | |
%60 = notail call i64* %54(i64* %55, i64* %arg_function, i64* %arg_state, i64 %58, i32 %arg_creationOptions, i32 0, i64* %40, i64* %59) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11 | |
ret i64* %60 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 60, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_StartNew_System_Func_2_object_TResult_INST_object_System_Threading_CancellationToken_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_function, i64* %arg_state, i64 %arg_cancellationToken, i32 %arg_creationOptions, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 61) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
br label %BB7 | |
BB7: ; preds = %BB2 | |
%t28 = and i32 %arg_creationOptions, 4 | |
%13 = icmp ne i32 %t28, 0 | |
br i1 %13, label %BB9, label %BB10 | |
BB9: ; preds = %BB7 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%14 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%15 = notail call i64 %14() | |
%16 = inttoptr i64 %15 to i64* | |
%17 = getelementptr i64, i64* %16, i32 12 | |
%t33 = load i64, i64* %17 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%18 = ptrtoint i64* %SFLDA_35 to i64 | |
%t75 = and i64 %18, 2147483647 | |
%t35 = and i64 %t75, 63 | |
%t76 = shl i64 %t35, 3 | |
%t77 = add i64 %t33, %t76 | |
%19 = inttoptr i64 %t77 to i64* | |
%t36 = load i64, i64* %19 | |
%20 = trunc i64 %t75 to i32 | |
%t37 = lshr i32 %20, 6 | |
%t78 = and i32 %t37, 33554431 | |
%21 = sext i32 %t78 to i64 | |
%t38 = add i64 %t36, %21 | |
%22 = inttoptr i64 %t38 to i64* | |
%t79 = load i64, i64* %22 | |
%23 = inttoptr i64 %t79 to i64* | |
br label %BB6 | |
BB10: ; preds = %BB7 | |
br label %BB6 | |
BB6: ; preds = %BB10, %BB9 | |
%24 = phi i64* [ null, %BB10 ], [ %23, %BB9 ] | |
%25 = load volatile i64, i64* %2 | |
%26 = inttoptr i64 %25 to i64* | |
%t49 = load i64, i64* %26 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %27 to i64 (i64, i64)* | |
%28 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%29 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t49, i64 %28) | |
%30 = load volatile i64, i64* %2 | |
%31 = inttoptr i64 %30 to i64* | |
%t55 = load i64, i64* %31 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 85) | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %32 to i64 (i64, i64)* | |
%33 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%34 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t55, i64 %33) | |
%35 = inttoptr i64 %34 to i64* | |
%t60 = load i64, i64* %35 | |
%36 = inttoptr i64 %34 to i64* | |
%37 = getelementptr i64, i64* %36, i32 1 | |
%t62 = load i64, i64* %37 | |
%38 = inttoptr i64 %t60 to i64* (i64*, i64*, i64*, i64, i32, i32, i64*, i64*)* | |
%39 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%40 = getelementptr i64, i64* %39, i32 0 | |
%41 = load i64, i64* %40 | |
%42 = inttoptr i64 %t62 to i64* | |
%43 = notail call i64* %38(i64* %24, i64* %arg_function, i64* %arg_state, i64 %41, i32 %arg_creationOptions, i32 0, i64* %arg_scheduler, i64* %42) | |
br label %BB1 | |
BB1: ; preds = %BB6 | |
ret i64* %43 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 61, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_TaskFactory_1_TResult_INST_FromAsyncCoreLogic_System_IAsyncResult_System_Func_2_System_IAsyncResult_TResult_INST_System_Action_1_System_IAsyncResult_System_Threading_Tasks_Task_1_TResult_INST_bool(i64* %arg_iar, i64* %arg_endFunction, i64* %arg_endAction, i64* %arg_promise, i8 %arg_requiresSynchronization, i64* %rgctx) #5 personality i32 (...)* @__gxx_personality_v0 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = alloca i64, align 8 | |
%2 = alloca i64, align 8 | |
%3 = alloca i64, align 8 | |
%4 = alloca i64, align 8 | |
%5 = alloca i64, align 8 | |
%6 = alloca i64, align 8 | |
%7 = alloca i64, align 8 | |
%8 = alloca i64, align 8 | |
%9 = alloca i64*, align 1 | |
%10 = alloca i32, align 4 | |
%11 = alloca i64*, align 1 | |
%12 = alloca i32, align 4 | |
%13 = alloca i8, align 1 | |
%14 = alloca i64*, align 1 | |
%15 = alloca %System.Threading.CancellationToken, align 8 | |
%16 = alloca i64, align 8, !mono.this !0 | |
%17 = alloca i64*, align 1 | |
%18 = alloca i64*, align 1 | |
%19 = alloca i64*, align 1 | |
%20 = alloca %"OneThing`1<T1_INT>", align 4 | |
%21 = alloca i64*, align 1 | |
%22 = alloca i64*, align 1 | |
%23 = alloca i8, align 1 | |
%24 = alloca i64*, align 8 | |
%25 = zext i8 %arg_requiresSynchronization to i32 | |
store i64* %arg_promise, i64** %24 | |
%26 = trunc i32 %25 to i8 | |
store i8 %26, i8* %23 | |
%27 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %27, i64* %16 | |
%28 = alloca %"OneThing`1<T1_INT>", align 1 | |
%29 = alloca %"OneThing`1<T1_INT>", align 1 | |
%30 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 62) | |
%31 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%32 = icmp eq i8 %31, 0 | |
br i1 %32, label %NOTINITED_BB65, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB65, %INIT_BB1 | |
%exvar = alloca i64* | |
%finally_ind_bb5 = alloca i32 | |
store i32 0, i32* %finally_ind_bb5 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%33 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%34 = icmp eq i64 %33, 0 | |
%35 = call i1 @llvm.expect.i1(i1 %34, i1 true) | |
br i1 %35, label %CONT_BB9, label %POLL_BB8 | |
BB3_CALL_HANDLER_TARGET: ; preds = %LPAD0_BB3 | |
br label %EH_CLAUSE0_BB3 | |
BB4_CALL_HANDLER_TARGET: ; preds = %LPAD0_BB3 | |
br label %EH_CLAUSE1_BB4 | |
BB5_CALL_HANDLER_TARGET: ; preds = %BB33, %BB29, %BB10, %LPAD2_BB5 | |
br label %EH_CLAUSE2_BB5 | |
LPAD0_BB3: ; preds = %BB22, %BB21, %EX2_BB20, %BB28, %BB25, %BB24, %EX2_BB11, %RESUME_BB6 | |
%36 = landingpad { i8*, i32 } | |
catch i8* bitcast (i8** @_ZTIPi to i8*) | |
%AOT_JIT_INFO_87 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 87) | |
%37 = ptrtoint i64* %AOT_JIT_INFO_87 to i64 | |
%38 = load i64, i64* %16 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 88) | |
%jit_icall_mono_llvm_match_exception = bitcast i64* %39 to i32 (i64, i32, i32, i64, i64)* | |
%mono_llvm_match_exception = call i32 %jit_icall_mono_llvm_match_exception(i64 %37, i32 12, i32 34, i64 %38, i64 0) | |
switch i32 %mono_llvm_match_exception, label %RESUME_BB4 [ | |
i32 0, label %BB3_CALL_HANDLER_TARGET | |
i32 1, label %BB4_CALL_HANDLER_TARGET | |
] | |
RESUME_BB4: ; preds = %LPAD0_BB3 | |
%40 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 86) | |
%jit_icall_mono_llvm_resume_exception = bitcast i64* %40 to void ()* | |
call void %jit_icall_mono_llvm_resume_exception() | |
unreachable | |
LPAD2_BB5: ; preds = %BB36, %BB34, %CONT_BB33, %BB32, %BB30, %CONT_BB27 | |
%41 = landingpad { i8*, i32 } | |
catch i8* bitcast (i8** @_ZTIPi to i8*) | |
br label %BB5_CALL_HANDLER_TARGET | |
RESUME_BB6: ; No predecessors! | |
%42 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 86) | |
%jit_icall_mono_llvm_resume_exception1 = bitcast i64* %42 to void ()* | |
invoke void %jit_icall_mono_llvm_resume_exception1() | |
to label %CALL_NOEX_BB7 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB7: ; preds = %RESUME_BB6 | |
unreachable | |
POLL_BB8: ; preds = %INITED_BB2 | |
%43 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %43 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB9 | |
CONT_BB9: ; preds = %POLL_BB8, %INITED_BB2 | |
br label %BB7 | |
BB7: ; preds = %CONT_BB9 | |
store i64* null, i64** %22 | |
store i64* null, i64** %21 | |
%44 = bitcast %"OneThing`1<T1_INT>"* %20 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %44, i8 0, i32 4, i32 0, i1 false) | |
br label %BB6 | |
BB6: ; preds = %BB7 | |
store i64* null, i64** %22 | |
store i64* null, i64** %21 | |
%45 = bitcast %"OneThing`1<T1_INT>"* %20 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %45, i8 0, i32 4, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB6 | |
%46 = ptrtoint i64* %arg_endFunction to i64 | |
%47 = icmp eq i64 %46, 0 | |
br i1 %47, label %BB8, label %BB9 | |
BB8: ; preds = %BB2 | |
%48 = icmp eq i64* %arg_endAction, null | |
br i1 %48, label %EX_BB10, label %NOEX_BB12 | |
BB9: ; preds = %BB2 | |
%49 = icmp eq i64* %arg_endFunction, null | |
br i1 %49, label %EX_BB19, label %NOEX_BB21 | |
BB11: ; preds = %BB35, %BB31, %BB27 | |
br label %BB1 | |
BB1: ; preds = %BB11 | |
ret void | |
EX_BB10: ; preds = %BB8 | |
br label %EX2_BB11 | |
EX2_BB11: ; preds = %EX_BB10 | |
%50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %50 to void ()* | |
invoke void %JIT_ICALL_ADDR_22() | |
to label %CALL_NOEX_BB13 unwind label %LPAD0_BB3 | |
NOEX_BB12: ; preds = %BB8 | |
%t52 = load i64, i64* %arg_endAction | |
%51 = inttoptr i64 %t52 to i64* | |
%52 = getelementptr i64, i64* %51, i32 24 | |
%t49 = load i64, i64* %52 | |
%53 = icmp ne i64 %t49, 0 | |
%54 = call i1 @llvm.expect.i1(i1 %53, i1 true) | |
br i1 %54, label %BB24, label %BB25 | |
CALL_NOEX_BB13: ; preds = %EX2_BB11 | |
unreachable | |
BB24: ; preds = %CALL_NOEX_BB18, %NOEX_BB12 | |
%55 = phi i64 [ %t49, %NOEX_BB12 ], [ %62, %CALL_NOEX_BB18 ] | |
%56 = inttoptr i64 %55 to i64* | |
%t50 = load i64, i64* %56 | |
%57 = inttoptr i64 %55 to i64* | |
%58 = getelementptr i64, i64* %57, i32 1 | |
%t57 = load i64, i64* %58 | |
%59 = inttoptr i64 %t50 to void (i64*, i64*, i64*)* | |
%60 = inttoptr i64 %t57 to i64* | |
invoke void %59(i64* %arg_endAction, i64* %arg_iar, i64* %60) | |
to label %CALL_NOEX_BB15 unwind label %LPAD0_BB3 | |
BB25: ; preds = %NOEX_BB12 | |
%61 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %61 to i64 (i64, i64)* | |
%62 = invoke i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t52, i64 15) | |
to label %CALL_NOEX_BB18 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB15: ; preds = %BB24 | |
br label %BB10 | |
BB10: ; preds = %CALL_NOEX_BB24, %CALL_NOEX_BB15 | |
store i64* null, i64** %17 | |
store i32 1, i32* %finally_ind_bb5 | |
br label %BB5_CALL_HANDLER_TARGET | |
CALL_HANDLER_CONT_BB16: ; preds = %BB14 | |
%63 = load volatile i64*, i64** %17 | |
%64 = icmp eq i64* %63, null | |
br i1 %64, label %BB27, label %BB28 | |
BB27: ; preds = %CALL_NOEX_BB17, %CALL_HANDLER_CONT_BB16 | |
br label %BB11 | |
BB28: ; preds = %CALL_HANDLER_CONT_BB16 | |
%65 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 89) | |
%jit_icall_ves_icall_thread_finish_async_abort = bitcast i64* %65 to void ()* | |
invoke void %jit_icall_ves_icall_thread_finish_async_abort() | |
to label %CALL_NOEX_BB17 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB17: ; preds = %BB28 | |
br label %BB27 | |
CALL_NOEX_BB18: ; preds = %BB25 | |
br label %BB24 | |
EX_BB19: ; preds = %BB9 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%66 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %66 to void ()* | |
invoke void %JIT_ICALL_ADDR_222() | |
to label %CALL_NOEX_BB22 unwind label %LPAD0_BB3 | |
NOEX_BB21: ; preds = %BB9 | |
%t36 = load i64, i64* %arg_endFunction | |
%67 = inttoptr i64 %t36 to i64* | |
%68 = getelementptr i64, i64* %67, i32 24 | |
%t33 = load i64, i64* %68 | |
%69 = icmp ne i64 %t33, 0 | |
%70 = call i1 @llvm.expect.i1(i1 %69, i1 true) | |
br i1 %70, label %BB21, label %BB22 | |
CALL_NOEX_BB22: ; preds = %EX2_BB20 | |
unreachable | |
BB21: ; preds = %CALL_NOEX_BB25, %NOEX_BB21 | |
%71 = phi i64 [ %t33, %NOEX_BB21 ], [ %79, %CALL_NOEX_BB25 ] | |
%72 = inttoptr i64 %71 to i64* | |
%t34 = load i64, i64* %72 | |
%73 = inttoptr i64 %71 to i64* | |
%74 = getelementptr i64, i64* %73, i32 1 | |
%t41 = load i64, i64* %74 | |
%75 = inttoptr i64 %t34 to { i64 } (i64*, i64*, i64*)* | |
%76 = inttoptr i64 %t41 to i64* | |
%77 = invoke { i64 } %75(i64* %arg_endFunction, i64* %arg_iar, i64* %76) | |
to label %CALL_NOEX_BB24 unwind label %LPAD0_BB3 | |
BB22: ; preds = %NOEX_BB21 | |
%78 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot3 = bitcast i64* %78 to i64 (i64, i64)* | |
%79 = invoke i64 %jit_icall_mini_llvmonly_init_vtable_slot3(i64 %t36, i64 15) | |
to label %CALL_NOEX_BB25 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB24: ; preds = %BB21 | |
%80 = extractvalue { i64 } %77, 0 | |
%81 = bitcast %"OneThing`1<T1_INT>"* %20 to i64* | |
%82 = getelementptr i64, i64* %81, i32 0 | |
store i64 %80, i64* %82 | |
br label %BB10 | |
CALL_NOEX_BB25: ; preds = %BB22 | |
br label %BB21 | |
EH_CLAUSE0_BB3: ; preds = %BB3_CALL_HANDLER_TARGET | |
%83 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 90) | |
%jit_icall_mono_llvm_load_exception = bitcast i64* %83 to i64* ()* | |
%mono_llvm_load_exception = call i64* %jit_icall_mono_llvm_load_exception() | |
store i64* %mono_llvm_load_exception, i64** %exvar | |
%save_exception = load i64*, i64** %exvar | |
store i64* %save_exception, i64** %19 | |
%84 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 91) | |
%jit_icall_mono_llvm_clear_exception = bitcast i64* %84 to void ()* | |
call void %jit_icall_mono_llvm_clear_exception() | |
%GC_SAFE_POINT_FLAG_74 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%85 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_74 | |
%86 = icmp eq i64 %85, 0 | |
%87 = call i1 @llvm.expect.i1(i1 %86, i1 true) | |
br i1 %87, label %CONT_BB27, label %POLL_BB26 | |
POLL_BB26: ; preds = %EH_CLAUSE0_BB3 | |
%88 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll5 = bitcast i64* %88 to void ()* | |
call void %jit_icall_mono_threads_state_poll5() | |
br label %CONT_BB27 | |
CONT_BB27: ; preds = %POLL_BB26, %EH_CLAUSE0_BB3 | |
%89 = load volatile i64*, i64** %19 | |
store i64* %89, i64** %21 | |
%90 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 92) | |
%jit_icall_mono_thread_get_undeniable_exception = bitcast i64* %90 to i64* ()* | |
%91 = invoke i64* %jit_icall_mono_thread_get_undeniable_exception() | |
to label %CALL_NOEX_BB28 unwind label %LPAD2_BB5 | |
CALL_NOEX_BB28: ; preds = %CONT_BB27 | |
%92 = ptrtoint i64* %91 to i64 | |
store i64 %92, i64* %2 | |
%93 = load volatile i64, i64* %2 | |
%94 = icmp eq i64 %93, 0 | |
br i1 %94, label %BB29, label %BB30 | |
BB29: ; preds = %CALL_NOEX_BB28 | |
store i64* null, i64** %17 | |
store i32 2, i32* %finally_ind_bb5 | |
br label %BB5_CALL_HANDLER_TARGET | |
BB30: ; preds = %CALL_NOEX_BB28 | |
%95 = load volatile i64, i64* %2 | |
%96 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %96 to void (i64*)* | |
%97 = inttoptr i64 %95 to i64* | |
invoke void %JIT_ICALL_ADDR_41(i64* %97) | |
to label %CALL_NOEX_BB29 unwind label %LPAD2_BB5 | |
CALL_NOEX_BB29: ; preds = %BB30 | |
unreachable | |
CALL_HANDLER_CONT_BB30: ; preds = %BB14 | |
%98 = load volatile i64*, i64** %17 | |
%99 = icmp eq i64* %98, null | |
br i1 %99, label %BB31, label %BB32 | |
BB31: ; preds = %CALL_NOEX_BB31, %CALL_HANDLER_CONT_BB30 | |
br label %BB11 | |
BB32: ; preds = %CALL_HANDLER_CONT_BB30 | |
%100 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 89) | |
%jit_icall_ves_icall_thread_finish_async_abort6 = bitcast i64* %100 to void ()* | |
invoke void %jit_icall_ves_icall_thread_finish_async_abort6() | |
to label %CALL_NOEX_BB31 unwind label %LPAD2_BB5 | |
CALL_NOEX_BB31: ; preds = %BB32 | |
br label %BB31 | |
EH_CLAUSE1_BB4: ; preds = %BB4_CALL_HANDLER_TARGET | |
%101 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 90) | |
%jit_icall_mono_llvm_load_exception7 = bitcast i64* %101 to i64* ()* | |
%mono_llvm_load_exception8 = call i64* %jit_icall_mono_llvm_load_exception7() | |
store i64* %mono_llvm_load_exception8, i64** %exvar | |
%save_exception9 = load i64*, i64** %exvar | |
store i64* %save_exception9, i64** %18 | |
%102 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 91) | |
%jit_icall_mono_llvm_clear_exception10 = bitcast i64* %102 to void ()* | |
call void %jit_icall_mono_llvm_clear_exception10() | |
%GC_SAFE_POINT_FLAG_711 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%103 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_711 | |
%104 = icmp eq i64 %103, 0 | |
%105 = call i1 @llvm.expect.i1(i1 %104, i1 true) | |
br i1 %105, label %CONT_BB33, label %POLL_BB32 | |
POLL_BB32: ; preds = %EH_CLAUSE1_BB4 | |
%106 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll12 = bitcast i64* %106 to void ()* | |
call void %jit_icall_mono_threads_state_poll12() | |
br label %CONT_BB33 | |
CONT_BB33: ; preds = %POLL_BB32, %EH_CLAUSE1_BB4 | |
%107 = load volatile i64*, i64** %18 | |
store i64* %107, i64** %22 | |
%108 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 92) | |
%jit_icall_mono_thread_get_undeniable_exception13 = bitcast i64* %108 to i64* ()* | |
%109 = invoke i64* %jit_icall_mono_thread_get_undeniable_exception13() | |
to label %CALL_NOEX_BB34 unwind label %LPAD2_BB5 | |
CALL_NOEX_BB34: ; preds = %CONT_BB33 | |
%110 = ptrtoint i64* %109 to i64 | |
store i64 %110, i64* %1 | |
%111 = load volatile i64, i64* %1 | |
%112 = icmp eq i64 %111, 0 | |
br i1 %112, label %BB33, label %BB34 | |
BB33: ; preds = %CALL_NOEX_BB34 | |
store i64* null, i64** %17 | |
store i32 3, i32* %finally_ind_bb5 | |
br label %BB5_CALL_HANDLER_TARGET | |
BB34: ; preds = %CALL_NOEX_BB34 | |
%113 = load volatile i64, i64* %1 | |
%114 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4114 = bitcast i64* %114 to void (i64*)* | |
%115 = inttoptr i64 %113 to i64* | |
invoke void %JIT_ICALL_ADDR_4114(i64* %115) | |
to label %CALL_NOEX_BB35 unwind label %LPAD2_BB5 | |
CALL_NOEX_BB35: ; preds = %BB34 | |
unreachable | |
CALL_HANDLER_CONT_BB36: ; preds = %BB14 | |
%116 = load volatile i64*, i64** %17 | |
%117 = icmp eq i64* %116, null | |
br i1 %117, label %BB35, label %BB36 | |
BB35: ; preds = %CALL_NOEX_BB37, %CALL_HANDLER_CONT_BB36 | |
br label %BB11 | |
BB36: ; preds = %CALL_HANDLER_CONT_BB36 | |
%118 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 89) | |
%jit_icall_ves_icall_thread_finish_async_abort15 = bitcast i64* %118 to void ()* | |
invoke void %jit_icall_ves_icall_thread_finish_async_abort15() | |
to label %CALL_NOEX_BB37 unwind label %LPAD2_BB5 | |
CALL_NOEX_BB37: ; preds = %BB36 | |
br label %BB35 | |
EH_CLAUSE2_BB5: ; preds = %BB5_CALL_HANDLER_TARGET | |
%GC_SAFE_POINT_FLAG_716 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%119 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_716 | |
%120 = icmp eq i64 %119, 0 | |
%121 = call i1 @llvm.expect.i1(i1 %120, i1 true) | |
br i1 %121, label %CONT_BB39, label %POLL_BB38 | |
POLL_BB38: ; preds = %EH_CLAUSE2_BB5 | |
%122 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll17 = bitcast i64* %122 to void ()* | |
call void %jit_icall_mono_threads_state_poll17() | |
br label %CONT_BB39 | |
CONT_BB39: ; preds = %POLL_BB38, %EH_CLAUSE2_BB5 | |
%123 = load volatile i64*, i64** %21 | |
%124 = ptrtoint i64* %123 to i64 | |
%125 = icmp eq i64 %124, 0 | |
br i1 %125, label %BB12, label %BB13 | |
BB12: ; preds = %CONT_BB39 | |
%126 = load volatile i64*, i64** %22 | |
%127 = ptrtoint i64* %126 to i64 | |
%128 = icmp eq i64 %127, 0 | |
br i1 %128, label %BB15, label %BB16 | |
BB13: ; preds = %CONT_BB39 | |
%129 = load volatile i64*, i64** %24 | |
%130 = load volatile i64*, i64** %21 | |
store i64* %130, i64** %14 | |
%131 = load volatile i64*, i64** %14 | |
%132 = icmp eq i64* %131, null | |
br i1 %132, label %EX_BB40, label %NOEX_BB42 | |
EX_BB40: ; preds = %BB13 | |
br label %EX2_BB41 | |
EX2_BB41: ; preds = %EX_BB40 | |
%133 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2218 = bitcast i64* %133 to void ()* | |
call void %JIT_ICALL_ADDR_2218() | |
unreachable | |
NOEX_BB42: ; preds = %BB13 | |
%134 = load volatile i64*, i64** %14 | |
%135 = icmp eq i64* %134, null | |
br i1 %135, label %EX_BB44, label %NOEX_BB46 | |
EX_BB44: ; preds = %NOEX_BB42 | |
br label %EX2_BB45 | |
EX2_BB45: ; preds = %EX_BB44 | |
%136 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2219 = bitcast i64* %136 to void ()* | |
call void %JIT_ICALL_ADDR_2219() | |
unreachable | |
NOEX_BB46: ; preds = %NOEX_BB42 | |
%137 = ptrtoint i64* %134 to i64 | |
%138 = add i64 %137, 144 | |
%139 = inttoptr i64 %138 to i8* | |
%140 = bitcast %System.Threading.CancellationToken* %15 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %140, i8* %139, i32 8, i32 0, i1 false) | |
%141 = bitcast %System.Threading.CancellationToken* %15 to i8* | |
%142 = bitcast %System.Threading.CancellationToken* %30 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %142, i8* %141, i32 8, i32 0, i1 false) | |
%143 = load volatile i64*, i64** %21 | |
%144 = icmp eq i64* %129, null | |
br i1 %144, label %EX_BB48, label %NOEX_BB50 | |
EX_BB48: ; preds = %NOEX_BB46 | |
br label %EX2_BB49 | |
EX2_BB49: ; preds = %EX_BB48 | |
%145 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2220 = bitcast i64* %145 to void ()* | |
call void %JIT_ICALL_ADDR_2220() | |
unreachable | |
NOEX_BB50: ; preds = %NOEX_BB46 | |
%146 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 93) | |
%METHOD_93 = bitcast i64* %146 to i8 (i64*, i64, i64*)* | |
%147 = bitcast %System.Threading.CancellationToken* %30 to i64* | |
%148 = getelementptr i64, i64* %147, i32 0 | |
%149 = load i64, i64* %148 | |
%150 = notail call i8 %METHOD_93(i64* %129, i64 %149, i64* %143) | |
%151 = zext i8 %150 to i32 | |
br label %BB14 | |
BB14: ; preds = %NOEX_BB62, %NOEX_BB58, %NOEX_BB54, %NOEX_BB50 | |
%152 = load i32, i32* %finally_ind_bb5 | |
store i32 0, i32* %finally_ind_bb5 | |
switch i32 %152, label %ENDFINALLY_RESUME_BB64 [ | |
i32 1, label %CALL_HANDLER_CONT_BB16 | |
i32 2, label %CALL_HANDLER_CONT_BB30 | |
i32 3, label %CALL_HANDLER_CONT_BB36 | |
] | |
BB15: ; preds = %BB12 | |
store i8 0, i8* %13 | |
%153 = load volatile i8, i8* %13 | |
%154 = zext i8 %153 to i32 | |
%155 = trunc i32 %154 to i8 | |
%t90 = zext i8 %155 to i32 | |
%156 = icmp eq i32 %t90, 0 | |
br i1 %156, label %BB17, label %BB18 | |
BB16: ; preds = %BB12 | |
%157 = load volatile i64*, i64** %24 | |
%158 = load volatile i64*, i64** %22 | |
%159 = icmp eq i64* %157, null | |
br i1 %159, label %EX_BB52, label %NOEX_BB54 | |
EX_BB52: ; preds = %BB16 | |
br label %EX2_BB53 | |
EX2_BB53: ; preds = %EX_BB52 | |
%160 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2221 = bitcast i64* %160 to void ()* | |
call void %JIT_ICALL_ADDR_2221() | |
unreachable | |
NOEX_BB54: ; preds = %BB16 | |
%161 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 94) | |
%METHOD_94 = bitcast i64* %161 to i8 (i64*, i64*)* | |
%162 = notail call i8 %METHOD_94(i64* %157, i64* %158) | |
%163 = zext i8 %162 to i32 | |
br label %BB14 | |
BB17: ; preds = %BB18, %BB15 | |
%164 = load volatile i64*, i64** %24 | |
store i64* %164, i64** %9 | |
br label %BB55 | |
BB18: ; preds = %BB15 | |
%165 = load volatile i64*, i64** %24 | |
store i32 0, i32* %12 | |
store i64* %165, i64** %11 | |
store i32 1, i32* %10 | |
br label %BB17 | |
BB55: ; preds = %BB17 | |
%VTABLE_95 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 95) | |
%166 = ptrtoint i64* %VTABLE_95 to i64 | |
store i64 %166, i64* %0 | |
%167 = load volatile i64, i64* %0 | |
%168 = inttoptr i64 %167 to i8* | |
%169 = getelementptr i8, i8* %168, i32 45 | |
%170 = load i8, i8* %169 | |
%171 = zext i8 %170 to i32 | |
%172 = sext i32 %171 to i64 | |
%173 = icmp ne i64 %172, 0 | |
br i1 %173, label %BB59, label %BB60 | |
BB59: ; preds = %BB60, %BB55 | |
%SFLDA_96 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 96) | |
%174 = bitcast i64* %SFLDA_96 to i8* | |
%175 = load i8, i8* %174 | |
%176 = zext i8 %175 to i32 | |
%177 = icmp eq i32 %176, 0 | |
br i1 %177, label %BB57, label %BB58 | |
BB60: ; preds = %BB55 | |
%178 = load volatile i64, i64* %0 | |
%179 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init = bitcast i64* %179 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init(i64 %178) | |
br label %BB59 | |
BB57: ; preds = %BB58, %BB59 | |
%180 = load volatile i8, i8* %23 | |
%181 = zext i8 %180 to i32 | |
%182 = icmp eq i32 %181, 0 | |
br i1 %182, label %BB19, label %BB20 | |
BB58: ; preds = %BB59 | |
%183 = load volatile i64*, i64** %9 | |
%184 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 97) | |
%METHOD_97 = bitcast i64* %184 to void (i64*)* | |
notail call void %METHOD_97(i64* %183) | |
br label %BB57 | |
BB19: ; preds = %BB57 | |
%185 = load volatile i64*, i64** %24 | |
%186 = bitcast %"OneThing`1<T1_INT>"* %20 to i8* | |
%187 = bitcast %"OneThing`1<T1_INT>"* %28 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %187, i8* %186, i32 8, i32 0, i1 false) | |
%188 = icmp eq i64* %185, null | |
br i1 %188, label %EX_BB60, label %NOEX_BB62 | |
BB20: ; preds = %BB57 | |
%189 = load volatile i64*, i64** %24 | |
%190 = bitcast %"OneThing`1<T1_INT>"* %20 to i8* | |
%191 = bitcast %"OneThing`1<T1_INT>"* %29 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %191, i8* %190, i32 8, i32 0, i1 false) | |
%192 = icmp eq i64* %189, null | |
br i1 %192, label %EX_BB56, label %NOEX_BB58 | |
EX_BB56: ; preds = %BB20 | |
br label %EX2_BB57 | |
EX2_BB57: ; preds = %EX_BB56 | |
%193 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2222 = bitcast i64* %193 to void ()* | |
call void %JIT_ICALL_ADDR_2222() | |
unreachable | |
NOEX_BB58: ; preds = %BB20 | |
%194 = load volatile i64, i64* %16 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 98) | |
%195 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %195 to i64 (i64, i64)* | |
%196 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%197 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %194, i64 %196) | |
%198 = inttoptr i64 %197 to i64* | |
%t114 = load i64, i64* %198 | |
%199 = inttoptr i64 %197 to i64* | |
%200 = getelementptr i64, i64* %199, i32 1 | |
%t116 = load i64, i64* %200 | |
%201 = inttoptr i64 %t114 to i8 (i64*, i64, i64*)* | |
%202 = bitcast %"OneThing`1<T1_INT>"* %29 to i64* | |
%203 = getelementptr i64, i64* %202, i32 0 | |
%204 = load i64, i64* %203 | |
%205 = inttoptr i64 %t116 to i64* | |
%206 = notail call i8 %201(i64* %189, i64 %204, i64* %205) | |
%207 = zext i8 %206 to i32 | |
br label %BB14 | |
EX_BB60: ; preds = %BB19 | |
br label %EX2_BB61 | |
EX2_BB61: ; preds = %EX_BB60 | |
%208 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2223 = bitcast i64* %208 to void ()* | |
call void %JIT_ICALL_ADDR_2223() | |
unreachable | |
NOEX_BB62: ; preds = %BB19 | |
%209 = load volatile i64, i64* %16 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 99) | |
%210 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx25 = bitcast i64* %210 to i64 (i64, i64)* | |
%211 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC24 to i64 | |
%212 = notail call i64 %jit_icall_mono_fill_class_rgctx25(i64 %209, i64 %211) | |
%213 = inttoptr i64 %212 to i64* | |
%t129 = load i64, i64* %213 | |
%214 = inttoptr i64 %212 to i64* | |
%215 = getelementptr i64, i64* %214, i32 1 | |
%t131 = load i64, i64* %215 | |
%216 = inttoptr i64 %t129 to void (i64*, i64, i64*)* | |
%217 = bitcast %"OneThing`1<T1_INT>"* %28 to i64* | |
%218 = getelementptr i64, i64* %217, i32 0 | |
%219 = load i64, i64* %218 | |
%220 = inttoptr i64 %t131 to i64* | |
notail call void %216(i64* %185, i64 %219, i64* %220) | |
br label %BB14 | |
ENDFINALLY_RESUME_BB64: ; preds = %BB14 | |
%221 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 86) | |
%jit_icall_mono_llvm_resume_exception26 = bitcast i64* %221 to void ()* | |
call void %jit_icall_mono_llvm_resume_exception26() | |
unreachable | |
NOTINITED_BB65: ; preds = %INIT_BB1 | |
%222 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 62, i64 %222) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_FromAsync_System_IAsyncResult_System_Func_2_System_IAsyncResult_TResult_INST(i64* %this, i64* %arg_asyncResult, i64* %arg_endMethod) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 63) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%5 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%6 = icmp eq i64 %5, 0 | |
%7 = call i1 @llvm.expect.i1(i1 %6, i1 true) | |
br i1 %7, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %8 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = load volatile i64, i64* %0 | |
%10 = icmp eq i64 %9, 0 | |
br i1 %10, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %11 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%12 = inttoptr i64 %9 to i32* | |
%13 = getelementptr i32, i32* %12, i32 8 | |
%t24 = load volatile i32, i32* %13 | |
%14 = load volatile i64, i64* %0 | |
%15 = icmp eq i64 %14, 0 | |
br i1 %15, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %16 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%17 = load volatile i64, i64* %0 | |
%18 = inttoptr i64 %17 to i64* | |
%t27 = load i64, i64* %18 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 100) | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %19 to i64 (i64, i64)* | |
%20 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%21 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t27, i64 %20) | |
%22 = inttoptr i64 %21 to i64* | |
%t32 = load i64, i64* %22 | |
%23 = inttoptr i64 %21 to i64* | |
%24 = getelementptr i64, i64* %23, i32 1 | |
%t34 = load i64, i64* %24 | |
%25 = inttoptr i64 %t32 to i64* (i64*, i64*)* | |
%26 = inttoptr i64 %14 to i64* | |
%27 = inttoptr i64 %t34 to i64* | |
%28 = notail call i64* %25(i64* %26, i64* %27) | |
%29 = load volatile i64, i64* %0 | |
%30 = inttoptr i64 %29 to i64* | |
%t39 = load i64, i64* %30 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%31 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %31 to i64 (i64, i64)* | |
%32 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%33 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %t39, i64 %32) | |
%34 = load volatile i64, i64* %0 | |
%35 = inttoptr i64 %34 to i64* | |
%t45 = load i64, i64* %35 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 102) | |
%36 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %36 to i64 (i64, i64)* | |
%37 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC3 to i64 | |
%38 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %t45, i64 %37) | |
%39 = inttoptr i64 %38 to i64* | |
%t50 = load i64, i64* %39 | |
%40 = inttoptr i64 %38 to i64* | |
%41 = getelementptr i64, i64* %40, i32 1 | |
%t52 = load i64, i64* %41 | |
%42 = inttoptr i64 %t50 to i64* (i64*, i64*, i64*, i32, i64*, i64*)* | |
%43 = inttoptr i64 %t52 to i64* | |
%44 = notail call i64* %42(i64* %arg_asyncResult, i64* %arg_endMethod, i64* null, i32 %t24, i64* %28, i64* %43) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11 | |
ret i64* %44 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 63, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_FromAsync_System_IAsyncResult_System_Func_2_System_IAsyncResult_TResult_INST_System_Threading_Tasks_TaskCreationOptions(i64* %this, i64* %arg_asyncResult, i64* %arg_endMethod, i32 %arg_creationOptions) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 64) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%5 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%6 = icmp eq i64 %5, 0 | |
%7 = call i1 @llvm.expect.i1(i1 %6, i1 true) | |
br i1 %7, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %8 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = load volatile i64, i64* %0 | |
%10 = icmp eq i64 %9, 0 | |
br i1 %10, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %11 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%12 = load volatile i64, i64* %0 | |
%13 = inttoptr i64 %12 to i64* | |
%t27 = load i64, i64* %13 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 100) | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %14 to i64 (i64, i64)* | |
%15 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%16 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t27, i64 %15) | |
%17 = inttoptr i64 %16 to i64* | |
%t32 = load i64, i64* %17 | |
%18 = inttoptr i64 %16 to i64* | |
%19 = getelementptr i64, i64* %18, i32 1 | |
%t34 = load i64, i64* %19 | |
%20 = inttoptr i64 %t32 to i64* (i64*, i64*)* | |
%21 = inttoptr i64 %9 to i64* | |
%22 = inttoptr i64 %t34 to i64* | |
%23 = notail call i64* %20(i64* %21, i64* %22) | |
%24 = load volatile i64, i64* %0 | |
%25 = inttoptr i64 %24 to i64* | |
%t39 = load i64, i64* %25 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %26 to i64 (i64, i64)* | |
%27 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%28 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t39, i64 %27) | |
%29 = load volatile i64, i64* %0 | |
%30 = inttoptr i64 %29 to i64* | |
%t45 = load i64, i64* %30 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 102) | |
%31 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx3 = bitcast i64* %31 to i64 (i64, i64)* | |
%32 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC2 to i64 | |
%33 = notail call i64 %jit_icall_mono_fill_class_rgctx3(i64 %t45, i64 %32) | |
%34 = inttoptr i64 %33 to i64* | |
%t50 = load i64, i64* %34 | |
%35 = inttoptr i64 %33 to i64* | |
%36 = getelementptr i64, i64* %35, i32 1 | |
%t52 = load i64, i64* %36 | |
%37 = inttoptr i64 %t50 to i64* (i64*, i64*, i64*, i32, i64*, i64*)* | |
%38 = inttoptr i64 %t52 to i64* | |
%39 = notail call i64* %37(i64* %arg_asyncResult, i64* %arg_endMethod, i64* null, i32 %arg_creationOptions, i64* %23, i64* %38) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %39 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 64, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_FromAsync_System_IAsyncResult_System_Func_2_System_IAsyncResult_TResult_INST_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_asyncResult, i64* %arg_endMethod, i32 %arg_creationOptions, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 65) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%5 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%6 = icmp eq i64 %5, 0 | |
%7 = call i1 @llvm.expect.i1(i1 %6, i1 true) | |
br i1 %7, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %8 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = load volatile i64, i64* %0 | |
%10 = inttoptr i64 %9 to i64* | |
%t28 = load i64, i64* %10 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %11 to i64 (i64, i64)* | |
%12 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%13 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t28, i64 %12) | |
%14 = load volatile i64, i64* %0 | |
%15 = inttoptr i64 %14 to i64* | |
%t34 = load i64, i64* %15 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 102) | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %16 to i64 (i64, i64)* | |
%17 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%18 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t34, i64 %17) | |
%19 = inttoptr i64 %18 to i64* | |
%t39 = load i64, i64* %19 | |
%20 = inttoptr i64 %18 to i64* | |
%21 = getelementptr i64, i64* %20, i32 1 | |
%t41 = load i64, i64* %21 | |
%22 = inttoptr i64 %t39 to i64* (i64*, i64*, i64*, i32, i64*, i64*)* | |
%23 = inttoptr i64 %t41 to i64* | |
%24 = notail call i64* %22(i64* %arg_asyncResult, i64* %arg_endMethod, i64* null, i32 %arg_creationOptions, i64* %arg_scheduler, i64* %23) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %24 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 65, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_FromAsyncImpl_System_IAsyncResult_System_Func_2_System_IAsyncResult_TResult_INST_System_Action_1_System_IAsyncResult_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_TaskScheduler(i64* %arg_asyncResult, i64* %arg_endFunction, i64* %arg_endAction, i32 %arg_creationOptions, i64* %arg_scheduler, i64* %rgctx) #5 personality i32 (...)* @__gxx_personality_v0 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i64, align 8 | |
%2 = alloca i64, align 8 | |
%3 = alloca i64, align 8 | |
%4 = alloca i64, align 8, !mono.this !0 | |
%5 = alloca i64*, align 1 | |
%6 = alloca i64*, align 1 | |
%7 = alloca %System.Threading.CancellationToken, align 8 | |
%8 = alloca i64*, align 8 | |
%9 = alloca i64*, align 8 | |
%10 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %10, i64* %4 | |
%11 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 66) | |
%12 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%13 = icmp eq i8 %12, 0 | |
br i1 %13, label %NOTINITED_BB109, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB109, %INIT_BB1 | |
%exvar = alloca i64* | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%14 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%15 = icmp eq i64 %14, 0 | |
%16 = call i1 @llvm.expect.i1(i1 %15, i1 true) | |
br i1 %16, label %CONT_BB6, label %POLL_BB5 | |
BB3_CALL_HANDLER_TARGET: ; preds = %LPAD0_BB3 | |
br label %EH_CLAUSE0_BB3 | |
LPAD0_BB3: ; preds = %NOEX_BB91, %EX2_BB90, %EX2_BB85, %EX2_BB80 | |
%17 = landingpad { i8*, i32 } | |
catch i8* bitcast (i8** @_ZTIPi to i8*) | |
%AOT_JIT_INFO_103 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 103) | |
%18 = ptrtoint i64* %AOT_JIT_INFO_103 to i64 | |
%19 = load i64, i64* %4 | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 88) | |
%jit_icall_mono_llvm_match_exception = bitcast i64* %20 to i32 (i64, i32, i32, i64, i64)* | |
%mono_llvm_match_exception = call i32 %jit_icall_mono_llvm_match_exception(i64 %18, i32 170, i32 190, i64 %19, i64 0) | |
switch i32 %mono_llvm_match_exception, label %RESUME_BB4 [ | |
i32 0, label %BB3_CALL_HANDLER_TARGET | |
] | |
RESUME_BB4: ; preds = %LPAD0_BB3 | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 86) | |
%jit_icall_mono_llvm_resume_exception = bitcast i64* %21 to void ()* | |
call void %jit_icall_mono_llvm_resume_exception() | |
unreachable | |
POLL_BB5: ; preds = %INITED_BB2 | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %22 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB6 | |
CONT_BB6: ; preds = %POLL_BB5, %INITED_BB2 | |
br label %BB5 | |
BB5: ; preds = %CONT_BB6 | |
store i64* null, i64** %8 | |
%23 = bitcast %System.Threading.CancellationToken* %7 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %23, i8 0, i32 8, i32 0, i1 false) | |
store i64* null, i64** %6 | |
br label %BB4 | |
BB4: ; preds = %BB5 | |
%24 = load volatile i64, i64* %4 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 104) | |
%25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %25 to i64 (i64, i64)* | |
%26 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%27 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %24, i64 %26) | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %28 to i64* (i64, i64)* | |
%29 = notail call i64* %METHOD_27(i64 %27, i64 64) | |
%30 = load volatile i64, i64* %4 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 105) | |
%31 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %31 to i64 (i64, i64)* | |
%32 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%33 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %30, i64 %32) | |
%34 = inttoptr i64 %33 to i64* | |
%t41 = load i64, i64* %34 | |
%35 = inttoptr i64 %33 to i64* | |
%36 = getelementptr i64, i64* %35, i32 1 | |
%t43 = load i64, i64* %36 | |
%37 = inttoptr i64 %t41 to void (i64*, i64*)* | |
%38 = inttoptr i64 %t43 to i64* | |
notail call void %37(i64* %29, i64* %38) | |
store i64* %29, i64** %8 | |
%39 = load volatile i64*, i64** %8 | |
%40 = icmp eq i64* %39, null | |
br i1 %40, label %EX_BB7, label %NOEX_BB9 | |
EX_BB7: ; preds = %BB4 | |
br label %EX2_BB8 | |
EX2_BB8: ; preds = %EX_BB7 | |
%41 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %41 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB9: ; preds = %BB4 | |
%42 = getelementptr i64, i64* %39, i32 2 | |
%43 = ptrtoint i64* %arg_asyncResult to i64 | |
store volatile i64 %43, i64* %42 | |
%44 = ptrtoint i64* %39 to i64 | |
%t48 = add i64 %44, 16 | |
%t49 = lshr i64 %t48, 9 | |
%t254 = and i64 %t49, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%45 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t255 = add i64 %t254, %45 | |
%46 = inttoptr i64 %t255 to i8* | |
%47 = getelementptr i8, i8* %46, i32 0 | |
store i8 1, i8* %47 | |
%48 = load volatile i64*, i64** %8 | |
%49 = icmp eq i64* %48, null | |
br i1 %49, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %NOEX_BB9 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %50 to void ()* | |
call void %JIT_ICALL_ADDR_222() | |
unreachable | |
NOEX_BB13: ; preds = %NOEX_BB9 | |
%51 = getelementptr i64, i64* %48, i32 3 | |
%52 = ptrtoint i64* %arg_endFunction to i64 | |
store volatile i64 %52, i64* %51 | |
%53 = ptrtoint i64* %48 to i64 | |
%t53 = add i64 %53, 24 | |
%t54 = lshr i64 %t53, 9 | |
%t256 = and i64 %t54, 8388607 | |
%GC_CARD_TABLE_ADDR_23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%54 = ptrtoint i64* %GC_CARD_TABLE_ADDR_23 to i64 | |
%t257 = add i64 %t256, %54 | |
%55 = inttoptr i64 %t257 to i8* | |
%56 = getelementptr i8, i8* %55, i32 0 | |
store i8 1, i8* %56 | |
%57 = load volatile i64*, i64** %8 | |
%58 = icmp eq i64* %57, null | |
br i1 %58, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%59 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %59 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%60 = getelementptr i64, i64* %57, i32 4 | |
%61 = ptrtoint i64* %arg_endAction to i64 | |
store volatile i64 %61, i64* %60 | |
%62 = ptrtoint i64* %57 to i64 | |
%t58 = add i64 %62, 32 | |
%t59 = lshr i64 %t58, 9 | |
%t258 = and i64 %t59, 8388607 | |
%GC_CARD_TABLE_ADDR_25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%63 = ptrtoint i64* %GC_CARD_TABLE_ADDR_25 to i64 | |
%t259 = add i64 %t258, %63 | |
%64 = inttoptr i64 %t259 to i8* | |
%65 = getelementptr i8, i8* %64, i32 0 | |
store i8 1, i8* %65 | |
%66 = load volatile i64*, i64** %8 | |
%67 = icmp eq i64* %66, null | |
br i1 %67, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%68 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_226 = bitcast i64* %68 to void ()* | |
call void %JIT_ICALL_ADDR_226() | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%69 = getelementptr i64, i64* %66, i32 7 | |
%70 = ptrtoint i64* %arg_scheduler to i64 | |
store volatile i64 %70, i64* %69 | |
%71 = ptrtoint i64* %66 to i64 | |
%t63 = add i64 %71, 56 | |
%t64 = lshr i64 %t63, 9 | |
%t260 = and i64 %t64, 8388607 | |
%GC_CARD_TABLE_ADDR_27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%72 = ptrtoint i64* %GC_CARD_TABLE_ADDR_27 to i64 | |
%t261 = add i64 %t260, %72 | |
%73 = inttoptr i64 %t261 to i8* | |
%74 = getelementptr i8, i8* %73, i32 0 | |
store i8 1, i8* %74 | |
%75 = load volatile i64*, i64** %8 | |
%76 = icmp eq i64* %75, null | |
br i1 %76, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%77 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_228 = bitcast i64* %77 to void ()* | |
call void %JIT_ICALL_ADDR_228() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%78 = getelementptr i64, i64* %75, i32 2 | |
%t67 = load volatile i64, i64* %78 | |
%79 = icmp ne i64 %t67, 0 | |
br i1 %79, label %BB6, label %BB7 | |
BB6: ; preds = %NOEX_BB25 | |
%80 = load volatile i64*, i64** %8 | |
%81 = icmp eq i64* %80, null | |
br i1 %81, label %EX_BB27, label %NOEX_BB29 | |
BB7: ; preds = %NOEX_BB25 | |
%82 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib47 = bitcast i64* %82 to i64* (i64)* | |
%83 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib47(i64 82684) | |
%84 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_148 = bitcast i64* %84 to i64* (i64, i64*)* | |
%85 = notail call i64* %jit_icall_mono_create_corlib_exception_148(i64 33554603, i64* %83) | |
%86 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4149 = bitcast i64* %86 to void (i64*)* | |
call void %JIT_ICALL_ADDR_4149(i64* %85) | |
unreachable | |
EX_BB27: ; preds = %BB6 | |
br label %EX2_BB28 | |
EX2_BB28: ; preds = %EX_BB27 | |
%87 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_229 = bitcast i64* %87 to void ()* | |
call void %JIT_ICALL_ADDR_229() | |
unreachable | |
NOEX_BB29: ; preds = %BB6 | |
%88 = getelementptr i64, i64* %80, i32 3 | |
%t76 = load volatile i64, i64* %88 | |
%89 = icmp ne i64 %t76, 0 | |
br i1 %89, label %BB8, label %BB9 | |
BB8: ; preds = %NOEX_BB97, %NOEX_BB29 | |
%90 = load volatile i64*, i64** %8 | |
%91 = icmp eq i64* %90, null | |
br i1 %91, label %EX_BB31, label %NOEX_BB33 | |
BB9: ; preds = %NOEX_BB29 | |
%92 = load volatile i64*, i64** %8 | |
%93 = icmp eq i64* %92, null | |
br i1 %93, label %EX_BB95, label %NOEX_BB97 | |
EX_BB31: ; preds = %BB8 | |
br label %EX2_BB32 | |
EX2_BB32: ; preds = %EX_BB31 | |
%94 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2210 = bitcast i64* %94 to void ()* | |
call void %JIT_ICALL_ADDR_2210() | |
unreachable | |
NOEX_BB33: ; preds = %BB8 | |
%95 = getelementptr i64, i64* %90, i32 7 | |
%t87 = load volatile i64, i64* %95 | |
%96 = icmp ne i64 %t87, 0 | |
br i1 %96, label %BB11, label %BB12 | |
BB11: ; preds = %NOEX_BB33 | |
%97 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 106) | |
%METHOD_106 = bitcast i64* %97 to void (i32, i8)* | |
notail call void %METHOD_106(i32 %arg_creationOptions, i8 0) | |
%98 = load volatile i64*, i64** %8 | |
%99 = load volatile i64, i64* %4 | |
%RGCTX_SLOT_INDEX_VTABLE11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%100 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx12 = bitcast i64* %100 to i64 (i64, i64)* | |
%101 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE11 to i64 | |
%102 = notail call i64 %jit_icall_mono_fill_class_rgctx12(i64 %99, i64 %101) | |
%103 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_2713 = bitcast i64* %103 to i64* (i64, i64)* | |
%104 = notail call i64* %METHOD_2713(i64 %102, i64 80) | |
%105 = load volatile i64, i64* %4 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 107) | |
%106 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx15 = bitcast i64* %106 to i64 (i64, i64)* | |
%107 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC14 to i64 | |
%108 = notail call i64 %jit_icall_mono_fill_class_rgctx15(i64 %105, i64 %107) | |
%109 = inttoptr i64 %108 to i64* | |
%t116 = load i64, i64* %109 | |
%110 = inttoptr i64 %108 to i64* | |
%111 = getelementptr i64, i64* %110, i32 1 | |
%t118 = load i64, i64* %111 | |
%112 = inttoptr i64 %t116 to void (i64*, i64*, i32, i64*)* | |
%113 = inttoptr i64 %t118 to i64* | |
notail call void %112(i64* %104, i64* null, i32 %arg_creationOptions, i64* %113) | |
%114 = icmp eq i64* %98, null | |
br i1 %114, label %EX_BB35, label %NOEX_BB37 | |
BB12: ; preds = %NOEX_BB33 | |
%115 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %115 to i64* (i64)* | |
%116 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82526) | |
%117 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %117 to i64* (i64, i64*)* | |
%118 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %116) | |
%119 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %119 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %118) | |
unreachable | |
EX_BB35: ; preds = %BB11 | |
br label %EX2_BB36 | |
EX2_BB36: ; preds = %EX_BB35 | |
%120 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2216 = bitcast i64* %120 to void ()* | |
call void %JIT_ICALL_ADDR_2216() | |
unreachable | |
NOEX_BB37: ; preds = %BB11 | |
%121 = getelementptr i64, i64* %98, i32 5 | |
%122 = ptrtoint i64* %104 to i64 | |
store volatile i64 %122, i64* %121 | |
%123 = ptrtoint i64* %98 to i64 | |
%t123 = add i64 %123, 40 | |
%t124 = lshr i64 %t123, 9 | |
%t262 = and i64 %t124, 8388607 | |
%GC_CARD_TABLE_ADDR_217 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%124 = ptrtoint i64* %GC_CARD_TABLE_ADDR_217 to i64 | |
%t263 = add i64 %t262, %124 | |
%125 = inttoptr i64 %t263 to i8* | |
%126 = getelementptr i8, i8* %125, i32 0 | |
store i8 1, i8* %126 | |
%127 = load volatile i64*, i64** %8 | |
%128 = load volatile i64*, i64** %8 | |
%129 = icmp eq i64* %128, null | |
br i1 %129, label %EX_BB39, label %NOEX_BB41 | |
EX_BB39: ; preds = %NOEX_BB37 | |
br label %EX2_BB40 | |
EX2_BB40: ; preds = %EX_BB39 | |
%130 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %130 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 170) | |
unreachable | |
NOEX_BB41: ; preds = %NOEX_BB37 | |
%VTABLE_109 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 109) | |
%131 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_2718 = bitcast i64* %131 to i64* (i64, i64)* | |
%132 = ptrtoint i64* %VTABLE_109 to i64 | |
%133 = notail call i64* %METHOD_2718(i64 %132, i64 128) | |
%134 = icmp eq i64* %128, null | |
br i1 %134, label %EX_BB43, label %NOEX_BB45 | |
EX_BB43: ; preds = %NOEX_BB41 | |
br label %EX2_BB44 | |
EX2_BB44: ; preds = %EX_BB43 | |
%135 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2219 = bitcast i64* %135 to void ()* | |
call void %JIT_ICALL_ADDR_2219() | |
unreachable | |
NOEX_BB45: ; preds = %NOEX_BB41 | |
%136 = getelementptr i64, i64* %133, i32 4 | |
%137 = ptrtoint i64* %128 to i64 | |
store i64 %137, i64* %136 | |
%138 = ptrtoint i64* %133 to i64 | |
%t133 = add i64 %138, 32 | |
%t134 = lshr i64 %t133, 9 | |
%t264 = and i64 %t134, 8388607 | |
%GC_CARD_TABLE_ADDR_220 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%139 = ptrtoint i64* %GC_CARD_TABLE_ADDR_220 to i64 | |
%t265 = add i64 %t264, %139 | |
%140 = inttoptr i64 %t265 to i8* | |
%141 = getelementptr i8, i8* %140, i32 0 | |
store i8 1, i8* %141 | |
%142 = load volatile i64, i64* %4 | |
%RGCTX_SLOT_INDEX_METHOD = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 110) | |
%143 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx21 = bitcast i64* %143 to i64 (i64, i64)* | |
%144 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD to i64 | |
%145 = notail call i64 %jit_icall_mono_fill_class_rgctx21(i64 %142, i64 %144) | |
%146 = getelementptr i64, i64* %133, i32 5 | |
store i64 %145, i64* %146 | |
%147 = load volatile i64, i64* %4 | |
%RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 111) | |
%148 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx22 = bitcast i64* %148 to i64 (i64, i64)* | |
%149 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE to i64 | |
%150 = notail call i64 %jit_icall_mono_fill_class_rgctx22(i64 %147, i64 %149) | |
%151 = getelementptr i64, i64* %133, i32 8 | |
store i64 %150, i64* %151 | |
%152 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 112) | |
%jit_icall_mini_llvmonly_init_delegate = bitcast i64* %152 to void (i64*)* | |
notail call void %jit_icall_mini_llvmonly_init_delegate(i64* %133) | |
%153 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %153, i8 0, i32 8, i32 0, i1 false) | |
%154 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%155 = bitcast %System.Threading.CancellationToken* %11 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %155, i8* %154, i32 8, i32 0, i1 false) | |
%VTABLE_95 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 95) | |
%156 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_2723 = bitcast i64* %156 to i64* (i64, i64)* | |
%157 = ptrtoint i64* %VTABLE_95 to i64 | |
%158 = notail call i64* %METHOD_2723(i64 %157, i64 72) | |
%159 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 37) | |
%METHOD_37 = bitcast i64* %159 to void (i64*, i64*, i64*, i64*, i64, i32, i32, i64*)* | |
%160 = bitcast %System.Threading.CancellationToken* %11 to i64* | |
%161 = getelementptr i64, i64* %160, i32 0 | |
%162 = load i64, i64* %161 | |
notail call void %METHOD_37(i64* %158, i64* %133, i64* null, i64* null, i64 %162, i32 0, i32 0, i64* null) | |
%163 = icmp eq i64* %127, null | |
br i1 %163, label %EX_BB47, label %NOEX_BB49 | |
EX_BB47: ; preds = %NOEX_BB45 | |
br label %EX2_BB48 | |
EX2_BB48: ; preds = %EX_BB47 | |
%164 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2224 = bitcast i64* %164 to void ()* | |
call void %JIT_ICALL_ADDR_2224() | |
unreachable | |
NOEX_BB49: ; preds = %NOEX_BB45 | |
%165 = getelementptr i64, i64* %127, i32 6 | |
%166 = ptrtoint i64* %158 to i64 | |
store volatile i64 %166, i64* %165 | |
%167 = ptrtoint i64* %127 to i64 | |
%t166 = add i64 %167, 48 | |
%t167 = lshr i64 %t166, 9 | |
%t267 = and i64 %t167, 8388607 | |
%GC_CARD_TABLE_ADDR_225 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%168 = ptrtoint i64* %GC_CARD_TABLE_ADDR_225 to i64 | |
%t268 = add i64 %t267, %168 | |
%169 = inttoptr i64 %t268 to i8* | |
%170 = getelementptr i8, i8* %169, i32 0 | |
store i8 1, i8* %170 | |
%171 = load volatile i64*, i64** %8 | |
%172 = icmp eq i64* %171, null | |
br i1 %172, label %EX_BB51, label %NOEX_BB53 | |
EX_BB51: ; preds = %NOEX_BB49 | |
br label %EX2_BB52 | |
EX2_BB52: ; preds = %EX_BB51 | |
%173 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2226 = bitcast i64* %173 to void ()* | |
call void %JIT_ICALL_ADDR_2226() | |
unreachable | |
NOEX_BB53: ; preds = %NOEX_BB49 | |
%174 = getelementptr i64, i64* %171, i32 2 | |
%t170 = load volatile i64, i64* %174 | |
%175 = icmp eq i64 %t170, 0 | |
br i1 %175, label %EX_BB55, label %NOEX_BB57 | |
EX_BB55: ; preds = %NOEX_BB53 | |
br label %EX2_BB56 | |
EX2_BB56: ; preds = %EX_BB55 | |
%176 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2227 = bitcast i64* %176 to void ()* | |
call void %JIT_ICALL_ADDR_2227() | |
unreachable | |
NOEX_BB57: ; preds = %NOEX_BB53 | |
%177 = inttoptr i64 %t170 to i64* | |
%t174 = load i64, i64* %177 | |
%178 = inttoptr i64 %t174 to i64* | |
%179 = getelementptr i64, i64* %178, i32 -9 | |
%t171 = load i64, i64* %179 | |
%180 = inttoptr i64 %t171 to i64* | |
%t172 = load i64, i64* %180 | |
%181 = inttoptr i64 %t171 to i64* | |
%182 = getelementptr i64, i64* %181, i32 1 | |
%t173 = load i64, i64* %182 | |
%METHODCONST_113 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 113) | |
%183 = inttoptr i64 %t172 to i64 (i64, i64)* | |
%184 = ptrtoint i64* %METHODCONST_113 to i64 | |
%185 = notail call i64 %183(i64 %t173, i64 %184) | |
%186 = inttoptr i64 %185 to i64* | |
%t179 = load i64, i64* %186 | |
%187 = inttoptr i64 %185 to i64* | |
%188 = getelementptr i64, i64* %187, i32 1 | |
%t181 = load i64, i64* %188 | |
%189 = inttoptr i64 %t179 to i8 (i64*, i64*)* | |
%190 = inttoptr i64 %t170 to i64* | |
%191 = inttoptr i64 %t181 to i64* | |
%192 = notail call i8 %189(i64* %190, i64* %191) | |
%193 = zext i8 %192 to i32 | |
%194 = trunc i32 %193 to i8 | |
%t185 = zext i8 %194 to i32 | |
%195 = icmp eq i32 %t185, 0 | |
br i1 %195, label %BB13, label %BB2 | |
BB13: ; preds = %NOEX_BB57 | |
%196 = load volatile i64*, i64** %8 | |
%197 = icmp eq i64* %196, null | |
br i1 %197, label %EX_BB59, label %NOEX_BB61 | |
BB2: ; preds = %NOEX_BB57 | |
%198 = load volatile i64*, i64** %8 | |
%199 = icmp eq i64* %198, null | |
br i1 %199, label %EX_BB79, label %NOEX_BB81 | |
EX_BB59: ; preds = %BB13 | |
br label %EX2_BB60 | |
EX2_BB60: ; preds = %EX_BB59 | |
%200 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2228 = bitcast i64* %200 to void ()* | |
call void %JIT_ICALL_ADDR_2228() | |
unreachable | |
NOEX_BB61: ; preds = %BB13 | |
%201 = getelementptr i64, i64* %196, i32 2 | |
%t204 = load volatile i64, i64* %201 | |
%202 = icmp eq i64 %t204, 0 | |
br i1 %202, label %EX_BB63, label %NOEX_BB65 | |
EX_BB63: ; preds = %NOEX_BB61 | |
br label %EX2_BB64 | |
EX2_BB64: ; preds = %EX_BB63 | |
%203 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2229 = bitcast i64* %203 to void ()* | |
call void %JIT_ICALL_ADDR_2229() | |
unreachable | |
NOEX_BB65: ; preds = %NOEX_BB61 | |
%204 = inttoptr i64 %t204 to i64* | |
%t208 = load i64, i64* %204 | |
%205 = inttoptr i64 %t208 to i64* | |
%206 = getelementptr i64, i64* %205, i32 -12 | |
%t205 = load i64, i64* %206 | |
%207 = inttoptr i64 %t205 to i64* | |
%t206 = load i64, i64* %207 | |
%208 = inttoptr i64 %t205 to i64* | |
%209 = getelementptr i64, i64* %208, i32 1 | |
%t207 = load i64, i64* %209 | |
%METHODCONST_114 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 114) | |
%210 = inttoptr i64 %t206 to i64 (i64, i64)* | |
%211 = ptrtoint i64* %METHODCONST_114 to i64 | |
%212 = notail call i64 %210(i64 %t207, i64 %211) | |
%213 = inttoptr i64 %212 to i64* | |
%t213 = load i64, i64* %213 | |
%214 = inttoptr i64 %212 to i64* | |
%215 = getelementptr i64, i64* %214, i32 1 | |
%t215 = load i64, i64* %215 | |
%216 = inttoptr i64 %t213 to i64* (i64*, i64*)* | |
%217 = inttoptr i64 %t204 to i64* | |
%218 = inttoptr i64 %t215 to i64* | |
%219 = notail call i64* %216(i64* %217, i64* %218) | |
%220 = load volatile i64*, i64** %8 | |
%221 = icmp eq i64* %220, null | |
br i1 %221, label %EX_BB67, label %NOEX_BB69 | |
EX_BB67: ; preds = %NOEX_BB65 | |
br label %EX2_BB68 | |
EX2_BB68: ; preds = %EX_BB67 | |
%222 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_10830 = bitcast i64* %222 to void (i32)* | |
call void %JIT_ICALL_ADDR_10830(i32 170) | |
unreachable | |
NOEX_BB69: ; preds = %NOEX_BB65 | |
%VTABLE_115 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 115) | |
%223 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_2731 = bitcast i64* %223 to i64* (i64, i64)* | |
%224 = ptrtoint i64* %VTABLE_115 to i64 | |
%225 = notail call i64* %METHOD_2731(i64 %224, i64 128) | |
%226 = icmp eq i64* %220, null | |
br i1 %226, label %EX_BB71, label %NOEX_BB73 | |
EX_BB71: ; preds = %NOEX_BB69 | |
br label %EX2_BB72 | |
EX2_BB72: ; preds = %EX_BB71 | |
%227 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2232 = bitcast i64* %227 to void ()* | |
call void %JIT_ICALL_ADDR_2232() | |
unreachable | |
NOEX_BB73: ; preds = %NOEX_BB69 | |
%228 = getelementptr i64, i64* %225, i32 4 | |
%229 = ptrtoint i64* %220 to i64 | |
store i64 %229, i64* %228 | |
%230 = ptrtoint i64* %225 to i64 | |
%t225 = add i64 %230, 32 | |
%t226 = lshr i64 %t225, 9 | |
%t269 = and i64 %t226, 8388607 | |
%GC_CARD_TABLE_ADDR_233 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%231 = ptrtoint i64* %GC_CARD_TABLE_ADDR_233 to i64 | |
%t270 = add i64 %t269, %231 | |
%232 = inttoptr i64 %t270 to i8* | |
%233 = getelementptr i8, i8* %232, i32 0 | |
store i8 1, i8* %233 | |
%234 = load volatile i64, i64* %4 | |
%RGCTX_SLOT_INDEX_METHOD34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 116) | |
%235 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx35 = bitcast i64* %235 to i64 (i64, i64)* | |
%236 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD34 to i64 | |
%237 = notail call i64 %jit_icall_mono_fill_class_rgctx35(i64 %234, i64 %236) | |
%238 = getelementptr i64, i64* %225, i32 5 | |
store i64 %237, i64* %238 | |
%239 = load volatile i64, i64* %4 | |
%RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE36 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 117) | |
%240 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx37 = bitcast i64* %240 to i64 (i64, i64)* | |
%241 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE36 to i64 | |
%242 = notail call i64 %jit_icall_mono_fill_class_rgctx37(i64 %239, i64 %241) | |
%243 = getelementptr i64, i64* %225, i32 8 | |
store i64 %242, i64* %243 | |
%244 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 112) | |
%jit_icall_mini_llvmonly_init_delegate38 = bitcast i64* %244 to void (i64*)* | |
notail call void %jit_icall_mini_llvmonly_init_delegate38(i64* %225) | |
%245 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 118) | |
%METHOD_118 = bitcast i64* %245 to i64* (i64*, i64*, i64*, i32, i8)* | |
%246 = notail call i64* %METHOD_118(i64* %219, i64* %225, i64* null, i32 -1, i8 1) | |
br label %BB14 | |
BB14: ; preds = %BB15, %CALL_NOEX_BB94, %NOEX_BB73 | |
%247 = load volatile i64*, i64** %8 | |
%248 = icmp eq i64* %247, null | |
br i1 %248, label %EX_BB75, label %NOEX_BB77 | |
EX_BB75: ; preds = %BB14 | |
br label %EX2_BB76 | |
EX2_BB76: ; preds = %EX_BB75 | |
%249 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2239 = bitcast i64* %249 to void ()* | |
call void %JIT_ICALL_ADDR_2239() | |
unreachable | |
NOEX_BB77: ; preds = %BB14 | |
%250 = getelementptr i64, i64* %247, i32 5 | |
%t16 = load volatile i64, i64* %250 | |
%251 = inttoptr i64 %t16 to i64* | |
store i64* %251, i64** %9 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB77 | |
%252 = load volatile i64*, i64** %9 | |
ret i64* %252 | |
EX_BB79: ; preds = %BB2 | |
br label %EX2_BB80 | |
EX2_BB80: ; preds = %EX_BB79 | |
%253 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2240 = bitcast i64* %253 to void ()* | |
invoke void %JIT_ICALL_ADDR_2240() | |
to label %CALL_NOEX_BB82 unwind label %LPAD0_BB3 | |
NOEX_BB81: ; preds = %BB2 | |
%254 = getelementptr i64, i64* %198, i32 6 | |
%t187 = load volatile i64, i64* %254 | |
%255 = load volatile i64*, i64** %8 | |
%256 = icmp eq i64* %255, null | |
br i1 %256, label %EX_BB84, label %NOEX_BB86 | |
CALL_NOEX_BB82: ; preds = %EX2_BB80 | |
unreachable | |
EX_BB84: ; preds = %NOEX_BB81 | |
br label %EX2_BB85 | |
EX2_BB85: ; preds = %EX_BB84 | |
%257 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2241 = bitcast i64* %257 to void ()* | |
invoke void %JIT_ICALL_ADDR_2241() | |
to label %CALL_NOEX_BB87 unwind label %LPAD0_BB3 | |
NOEX_BB86: ; preds = %NOEX_BB81 | |
%258 = getelementptr i64, i64* %255, i32 7 | |
%t189 = load volatile i64, i64* %258 | |
%259 = icmp eq i64 %t187, 0 | |
br i1 %259, label %EX_BB89, label %NOEX_BB91 | |
CALL_NOEX_BB87: ; preds = %EX2_BB85 | |
unreachable | |
EX_BB89: ; preds = %NOEX_BB86 | |
br label %EX2_BB90 | |
EX2_BB90: ; preds = %EX_BB89 | |
%260 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2242 = bitcast i64* %260 to void ()* | |
invoke void %JIT_ICALL_ADDR_2242() | |
to label %CALL_NOEX_BB92 unwind label %LPAD0_BB3 | |
NOEX_BB91: ; preds = %NOEX_BB86 | |
%261 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 119) | |
%METHOD_119 = bitcast i64* %261 to void (i64*, i64*, i8)* | |
%262 = inttoptr i64 %t187 to i64* | |
%263 = inttoptr i64 %t189 to i64* | |
invoke void %METHOD_119(i64* %262, i64* %263, i8 0) | |
to label %CALL_NOEX_BB94 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB92: ; preds = %EX2_BB90 | |
unreachable | |
CALL_NOEX_BB94: ; preds = %NOEX_BB91 | |
br label %BB14 | |
EX_BB95: ; preds = %BB9 | |
br label %EX2_BB96 | |
EX2_BB96: ; preds = %EX_BB95 | |
%264 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2243 = bitcast i64* %264 to void ()* | |
call void %JIT_ICALL_ADDR_2243() | |
unreachable | |
NOEX_BB97: ; preds = %BB9 | |
%265 = getelementptr i64, i64* %92, i32 4 | |
%t78 = load volatile i64, i64* %265 | |
%266 = icmp ne i64 %t78, 0 | |
br i1 %266, label %BB8, label %BB10 | |
BB10: ; preds = %NOEX_BB97 | |
%267 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib44 = bitcast i64* %267 to i64* (i64)* | |
%268 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib44(i64 82708) | |
%269 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_145 = bitcast i64* %269 to i64* (i64, i64*)* | |
%270 = notail call i64* %jit_icall_mono_create_corlib_exception_145(i64 33554603, i64* %268) | |
%271 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4146 = bitcast i64* %271 to void (i64*)* | |
call void %JIT_ICALL_ADDR_4146(i64* %270) | |
unreachable | |
EH_CLAUSE0_BB3: ; preds = %BB3_CALL_HANDLER_TARGET | |
%272 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 90) | |
%jit_icall_mono_llvm_load_exception = bitcast i64* %272 to i64* ()* | |
%mono_llvm_load_exception = call i64* %jit_icall_mono_llvm_load_exception() | |
store i64* %mono_llvm_load_exception, i64** %exvar | |
%save_exception = load i64*, i64** %exvar | |
store i64* %save_exception, i64** %5 | |
%273 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 91) | |
%jit_icall_mono_llvm_clear_exception = bitcast i64* %273 to void ()* | |
call void %jit_icall_mono_llvm_clear_exception() | |
%GC_SAFE_POINT_FLAG_750 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%274 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_750 | |
%275 = icmp eq i64 %274, 0 | |
%276 = call i1 @llvm.expect.i1(i1 %275, i1 true) | |
br i1 %276, label %CONT_BB100, label %POLL_BB99 | |
POLL_BB99: ; preds = %EH_CLAUSE0_BB3 | |
%277 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll51 = bitcast i64* %277 to void ()* | |
call void %jit_icall_mono_threads_state_poll51() | |
br label %CONT_BB100 | |
CONT_BB100: ; preds = %POLL_BB99, %EH_CLAUSE0_BB3 | |
%278 = load volatile i64*, i64** %5 | |
store i64* %278, i64** %6 | |
%279 = load volatile i64*, i64** %8 | |
%280 = icmp eq i64* %279, null | |
br i1 %280, label %EX_BB101, label %NOEX_BB103 | |
EX_BB101: ; preds = %CONT_BB100 | |
br label %EX2_BB102 | |
EX2_BB102: ; preds = %EX_BB101 | |
%281 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2252 = bitcast i64* %281 to void ()* | |
call void %JIT_ICALL_ADDR_2252() | |
unreachable | |
NOEX_BB103: ; preds = %CONT_BB100 | |
%282 = getelementptr i64, i64* %279, i32 5 | |
%t196 = load volatile i64, i64* %282 | |
%283 = load volatile i64*, i64** %6 | |
%284 = icmp eq i64 %t196, 0 | |
br i1 %284, label %EX_BB105, label %NOEX_BB107 | |
EX_BB105: ; preds = %NOEX_BB103 | |
br label %EX2_BB106 | |
EX2_BB106: ; preds = %EX_BB105 | |
%285 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2253 = bitcast i64* %285 to void ()* | |
call void %JIT_ICALL_ADDR_2253() | |
unreachable | |
NOEX_BB107: ; preds = %NOEX_BB103 | |
%286 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 94) | |
%METHOD_94 = bitcast i64* %286 to i8 (i64*, i64*)* | |
%287 = inttoptr i64 %t196 to i64* | |
%288 = notail call i8 %METHOD_94(i64* %287, i64* %283) | |
%289 = zext i8 %288 to i32 | |
%290 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 92) | |
%jit_icall_mono_thread_get_undeniable_exception = bitcast i64* %290 to i64* ()* | |
%291 = notail call i64* %jit_icall_mono_thread_get_undeniable_exception() | |
%292 = ptrtoint i64* %291 to i64 | |
store i64 %292, i64* %1 | |
%293 = load volatile i64, i64* %1 | |
%294 = icmp eq i64 %293, 0 | |
br i1 %294, label %BB15, label %BB16 | |
BB15: ; preds = %NOEX_BB107 | |
br label %BB14 | |
BB16: ; preds = %NOEX_BB107 | |
%295 = load volatile i64, i64* %1 | |
%296 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4154 = bitcast i64* %296 to void (i64*)* | |
%297 = inttoptr i64 %295 to i64* | |
call void %JIT_ICALL_ADDR_4154(i64* %297) | |
unreachable | |
NOTINITED_BB109: ; preds = %INIT_BB1 | |
%298 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 66, i64 %298) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_FromAsync_System_Func_3_System_AsyncCallback_object_System_IAsyncResult_System_Func_2_System_IAsyncResult_TResult_INST_object(i64* %this, i64* %arg_beginMethod, i64* %arg_endMethod, i64* %arg_state) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 67) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%5 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%6 = icmp eq i64 %5, 0 | |
%7 = call i1 @llvm.expect.i1(i1 %6, i1 true) | |
br i1 %7, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %8 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = load volatile i64, i64* %0 | |
%10 = icmp eq i64 %9, 0 | |
br i1 %10, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %11 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%12 = inttoptr i64 %9 to i32* | |
%13 = getelementptr i32, i32* %12, i32 8 | |
%t26 = load volatile i32, i32* %13 | |
%14 = load volatile i64, i64* %0 | |
%15 = inttoptr i64 %14 to i64* | |
%t28 = load i64, i64* %15 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %16 to i64 (i64, i64)* | |
%17 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%18 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t28, i64 %17) | |
%19 = load volatile i64, i64* %0 | |
%20 = inttoptr i64 %19 to i64* | |
%t34 = load i64, i64* %20 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 120) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %21 to i64 (i64, i64)* | |
%22 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%23 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t34, i64 %22) | |
%24 = inttoptr i64 %23 to i64* | |
%t39 = load i64, i64* %24 | |
%25 = inttoptr i64 %23 to i64* | |
%26 = getelementptr i64, i64* %25, i32 1 | |
%t41 = load i64, i64* %26 | |
%27 = inttoptr i64 %t39 to i64* (i64*, i64*, i64*, i64*, i32, i64*)* | |
%28 = inttoptr i64 %t41 to i64* | |
%29 = notail call i64* %27(i64* %arg_beginMethod, i64* %arg_endMethod, i64* null, i64* %arg_state, i32 %t26, i64* %28) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret i64* %29 | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 67, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_FromAsync_System_Func_3_System_AsyncCallback_object_System_IAsyncResult_System_Func_2_System_IAsyncResult_TResult_INST_object_System_Threading_Tasks_TaskCreationOptions(i64* %this, i64* %arg_beginMethod, i64* %arg_endMethod, i64* %arg_state, i32 %arg_creationOptions) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 68) | |
%3 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%5 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%6 = icmp eq i64 %5, 0 | |
%7 = call i1 @llvm.expect.i1(i1 %6, i1 true) | |
br i1 %7, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %8 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = load volatile i64, i64* %0 | |
%10 = inttoptr i64 %9 to i64* | |
%t28 = load i64, i64* %10 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %11 to i64 (i64, i64)* | |
%12 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%13 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t28, i64 %12) | |
%14 = load volatile i64, i64* %0 | |
%15 = inttoptr i64 %14 to i64* | |
%t34 = load i64, i64* %15 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 120) | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %16 to i64 (i64, i64)* | |
%17 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%18 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t34, i64 %17) | |
%19 = inttoptr i64 %18 to i64* | |
%t39 = load i64, i64* %19 | |
%20 = inttoptr i64 %18 to i64* | |
%21 = getelementptr i64, i64* %20, i32 1 | |
%t41 = load i64, i64* %21 | |
%22 = inttoptr i64 %t39 to i64* (i64*, i64*, i64*, i64*, i32, i64*)* | |
%23 = inttoptr i64 %t41 to i64* | |
%24 = notail call i64* %22(i64* %arg_beginMethod, i64* %arg_endMethod, i64* null, i64* %arg_state, i32 %arg_creationOptions, i64* %23) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %24 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 68, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_FromAsyncImpl_System_Func_3_System_AsyncCallback_object_System_IAsyncResult_System_Func_2_System_IAsyncResult_TResult_INST_System_Action_1_System_IAsyncResult_object_System_Threading_Tasks_TaskCreationOptions(i64* %arg_beginMethod, i64* %arg_endFunction, i64* %arg_endAction, i64* %arg_state, i32 %arg_creationOptions, i64* %rgctx) #5 personality i32 (...)* @__gxx_personality_v0 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = alloca i64, align 8 | |
%2 = alloca i64, align 8 | |
%3 = alloca i64*, align 1 | |
%4 = alloca i32, align 4 | |
%5 = alloca i64*, align 1 | |
%6 = alloca i32, align 4 | |
%7 = alloca i8, align 1 | |
%8 = alloca i64, align 8, !mono.this !0 | |
%9 = alloca i64*, align 1 | |
%10 = alloca %"OneThing`1<T1_INT>", align 4 | |
%11 = alloca i64*, align 8 | |
%12 = alloca i64*, align 8 | |
%13 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %13, i64* %8 | |
%14 = alloca %"OneThing`1<T1_INT>", align 1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 69) | |
%15 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%16 = icmp eq i8 %15, 0 | |
br i1 %16, label %NOTINITED_BB103, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB103, %INIT_BB1 | |
%exvar = alloca i64* | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%17 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%18 = icmp eq i64 %17, 0 | |
%19 = call i1 @llvm.expect.i1(i1 %18, i1 true) | |
br i1 %19, label %CONT_BB6, label %POLL_BB5 | |
BB3_CALL_HANDLER_TARGET: ; preds = %LPAD0_BB3 | |
br label %EH_CLAUSE0_BB3 | |
LPAD0_BB3: ; preds = %CALL_NOEX_BB74, %CALL_NOEX_BB73, %NOEX_BB70, %EX2_BB69, %EX2_BB64, %EX2_BB59, %CALL_NOEX_BB52, %NOEX_BB49, %EX2_BB48, %BB38, %BB37, %EX2_BB42, %CALL_NOEX_BB39, %CALL_NOEX_BB38, %NOEX_BB35, %EX2_BB34, %NOEX_BB29, %EX2_BB28 | |
%20 = landingpad { i8*, i32 } | |
catch i8* bitcast (i8** @_ZTIPi to i8*) | |
%AOT_JIT_INFO_121 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 121) | |
%21 = ptrtoint i64* %AOT_JIT_INFO_121 to i64 | |
%22 = load i64, i64* %8 | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 88) | |
%jit_icall_mono_llvm_match_exception = bitcast i64* %23 to i32 (i64, i32, i32, i64, i64)* | |
%mono_llvm_match_exception = call i32 %jit_icall_mono_llvm_match_exception(i64 %21, i32 126, i32 181, i64 %22, i64 0) | |
switch i32 %mono_llvm_match_exception, label %RESUME_BB4 [ | |
i32 0, label %BB3_CALL_HANDLER_TARGET | |
] | |
RESUME_BB4: ; preds = %LPAD0_BB3 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 86) | |
%jit_icall_mono_llvm_resume_exception = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_llvm_resume_exception() | |
unreachable | |
POLL_BB5: ; preds = %INITED_BB2 | |
%25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %25 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB6 | |
CONT_BB6: ; preds = %POLL_BB5, %INITED_BB2 | |
br label %BB5 | |
BB5: ; preds = %CONT_BB6 | |
store i64* null, i64** %11 | |
%26 = bitcast %"OneThing`1<T1_INT>"* %10 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %26, i8 0, i32 4, i32 0, i1 false) | |
br label %BB4 | |
BB4: ; preds = %BB5 | |
%27 = load volatile i64, i64* %8 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 122) | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %28 to i64 (i64, i64)* | |
%29 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%30 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %27, i64 %29) | |
%31 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %31 to i64* (i64, i64)* | |
%32 = notail call i64* %METHOD_27(i64 %30, i64 40) | |
%33 = load volatile i64, i64* %8 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 123) | |
%34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %34 to i64 (i64, i64)* | |
%35 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%36 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %33, i64 %35) | |
%37 = inttoptr i64 %36 to i64* | |
%t41 = load i64, i64* %37 | |
%38 = inttoptr i64 %36 to i64* | |
%39 = getelementptr i64, i64* %38, i32 1 | |
%t43 = load i64, i64* %39 | |
%40 = inttoptr i64 %t41 to void (i64*, i64*)* | |
%41 = inttoptr i64 %t43 to i64* | |
notail call void %40(i64* %32, i64* %41) | |
store i64* %32, i64** %11 | |
%42 = load volatile i64*, i64** %11 | |
%43 = icmp eq i64* %42, null | |
br i1 %43, label %EX_BB7, label %NOEX_BB9 | |
EX_BB7: ; preds = %BB4 | |
br label %EX2_BB8 | |
EX2_BB8: ; preds = %EX_BB7 | |
%44 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %44 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB9: ; preds = %BB4 | |
%45 = getelementptr i64, i64* %42, i32 2 | |
%46 = ptrtoint i64* %arg_endFunction to i64 | |
store volatile i64 %46, i64* %45 | |
%47 = ptrtoint i64* %42 to i64 | |
%t48 = add i64 %47, 16 | |
%t49 = lshr i64 %t48, 9 | |
%t258 = and i64 %t49, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%48 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t259 = add i64 %t258, %48 | |
%49 = inttoptr i64 %t259 to i8* | |
%50 = getelementptr i8, i8* %49, i32 0 | |
store i8 1, i8* %50 | |
%51 = load volatile i64*, i64** %11 | |
%52 = icmp eq i64* %51, null | |
br i1 %52, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %NOEX_BB9 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%53 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %53 to void ()* | |
call void %JIT_ICALL_ADDR_222() | |
unreachable | |
NOEX_BB13: ; preds = %NOEX_BB9 | |
%54 = getelementptr i64, i64* %51, i32 3 | |
%55 = ptrtoint i64* %arg_endAction to i64 | |
store volatile i64 %55, i64* %54 | |
%56 = ptrtoint i64* %51 to i64 | |
%t53 = add i64 %56, 24 | |
%t54 = lshr i64 %t53, 9 | |
%t260 = and i64 %t54, 8388607 | |
%GC_CARD_TABLE_ADDR_23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%57 = ptrtoint i64* %GC_CARD_TABLE_ADDR_23 to i64 | |
%t261 = add i64 %t260, %57 | |
%58 = inttoptr i64 %t261 to i8* | |
%59 = getelementptr i8, i8* %58, i32 0 | |
store i8 1, i8* %59 | |
%60 = ptrtoint i64* %arg_beginMethod to i64 | |
%61 = icmp ne i64 %60, 0 | |
br i1 %61, label %BB6, label %BB7 | |
BB6: ; preds = %NOEX_BB13 | |
%62 = load volatile i64*, i64** %11 | |
%63 = icmp eq i64* %62, null | |
br i1 %63, label %EX_BB15, label %NOEX_BB17 | |
BB7: ; preds = %NOEX_BB13 | |
%64 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib30 = bitcast i64* %64 to i64* (i64)* | |
%65 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib30(i64 82728) | |
%66 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_131 = bitcast i64* %66 to i64* (i64, i64*)* | |
%67 = notail call i64* %jit_icall_mono_create_corlib_exception_131(i64 33554603, i64* %65) | |
%68 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4132 = bitcast i64* %68 to void (i64*)* | |
call void %JIT_ICALL_ADDR_4132(i64* %67) | |
unreachable | |
EX_BB15: ; preds = %BB6 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%69 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %69 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %BB6 | |
%70 = getelementptr i64, i64* %62, i32 2 | |
%t65 = load volatile i64, i64* %70 | |
%71 = icmp ne i64 %t65, 0 | |
br i1 %71, label %BB8, label %BB9 | |
BB8: ; preds = %NOEX_BB83, %NOEX_BB17 | |
%72 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 106) | |
%METHOD_106 = bitcast i64* %72 to void (i32, i8)* | |
notail call void %METHOD_106(i32 %arg_creationOptions, i8 1) | |
%73 = load volatile i64*, i64** %11 | |
%74 = load volatile i64, i64* %8 | |
%RGCTX_SLOT_INDEX_VTABLE5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%75 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx6 = bitcast i64* %75 to i64 (i64, i64)* | |
%76 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE5 to i64 | |
%77 = notail call i64 %jit_icall_mono_fill_class_rgctx6(i64 %74, i64 %76) | |
%78 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_277 = bitcast i64* %78 to i64* (i64, i64)* | |
%79 = notail call i64* %METHOD_277(i64 %77, i64 80) | |
%80 = load volatile i64, i64* %8 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 107) | |
%81 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx9 = bitcast i64* %81 to i64 (i64, i64)* | |
%82 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC8 to i64 | |
%83 = notail call i64 %jit_icall_mono_fill_class_rgctx9(i64 %80, i64 %82) | |
%84 = inttoptr i64 %83 to i64* | |
%t96 = load i64, i64* %84 | |
%85 = inttoptr i64 %83 to i64* | |
%86 = getelementptr i64, i64* %85, i32 1 | |
%t98 = load i64, i64* %86 | |
%87 = inttoptr i64 %t96 to void (i64*, i64*, i32, i64*)* | |
%88 = inttoptr i64 %t98 to i64* | |
notail call void %87(i64* %79, i64* %arg_state, i32 %arg_creationOptions, i64* %88) | |
%89 = icmp eq i64* %73, null | |
br i1 %89, label %EX_BB19, label %NOEX_BB21 | |
BB9: ; preds = %NOEX_BB17 | |
%90 = load volatile i64*, i64** %11 | |
%91 = icmp eq i64* %90, null | |
br i1 %91, label %EX_BB81, label %NOEX_BB83 | |
EX_BB19: ; preds = %BB8 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%92 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2210 = bitcast i64* %92 to void ()* | |
call void %JIT_ICALL_ADDR_2210() | |
unreachable | |
NOEX_BB21: ; preds = %BB8 | |
%93 = getelementptr i64, i64* %73, i32 4 | |
%94 = ptrtoint i64* %79 to i64 | |
store volatile i64 %94, i64* %93 | |
%95 = ptrtoint i64* %73 to i64 | |
%t103 = add i64 %95, 32 | |
%t104 = lshr i64 %t103, 9 | |
%t262 = and i64 %t104, 8388607 | |
%GC_CARD_TABLE_ADDR_211 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%96 = ptrtoint i64* %GC_CARD_TABLE_ADDR_211 to i64 | |
%t263 = add i64 %t262, %96 | |
%97 = inttoptr i64 %t263 to i8* | |
%98 = getelementptr i8, i8* %97, i32 0 | |
store i8 1, i8* %98 | |
br i1 true, label %BB11, label %BB12 | |
BB11: ; preds = %NOEX_BB79, %NOEX_BB21 | |
%99 = load volatile i64*, i64** %11 | |
%100 = icmp eq i64* %99, null | |
br i1 %100, label %EX_BB23, label %NOEX_BB25 | |
BB12: ; preds = %NOEX_BB21 | |
%101 = load volatile i64*, i64** %11 | |
%102 = icmp eq i64* %101, null | |
br i1 %102, label %EX_BB77, label %NOEX_BB79 | |
EX_BB23: ; preds = %BB11 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%103 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2212 = bitcast i64* %103 to void ()* | |
call void %JIT_ICALL_ADDR_2212() | |
unreachable | |
NOEX_BB25: ; preds = %BB11 | |
%104 = getelementptr i64, i64* %99, i32 4 | |
%t126 = load volatile i64, i64* %104 | |
br label %BB31 | |
BB31: ; preds = %NOEX_BB25 | |
%VTABLE_95 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 95) | |
%105 = bitcast i64* %VTABLE_95 to i8* | |
%106 = getelementptr i8, i8* %105, i32 45 | |
%107 = load i8, i8* %106 | |
%108 = zext i8 %107 to i32 | |
%109 = sext i32 %108 to i64 | |
%110 = icmp ne i64 %109, 0 | |
br i1 %110, label %BB35, label %BB36 | |
BB35: ; preds = %BB36, %BB31 | |
%SFLDA_96 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 96) | |
%111 = bitcast i64* %SFLDA_96 to i8* | |
%112 = load i8, i8* %111 | |
%113 = zext i8 %112 to i32 | |
%114 = icmp eq i32 %113, 0 | |
br i1 %114, label %BB33, label %BB34 | |
BB36: ; preds = %BB31 | |
%115 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init = bitcast i64* %115 to void (i64)* | |
%116 = ptrtoint i64* %VTABLE_95 to i64 | |
notail call void %jit_icall_mono_generic_class_init(i64 %116) | |
br label %BB35 | |
BB33: ; preds = %BB34, %BB35 | |
br label %BB2 | |
BB34: ; preds = %BB35 | |
%117 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 129) | |
%METHOD_129 = bitcast i64* %117 to void (i64*)* | |
%118 = inttoptr i64 %t126 to i64* | |
notail call void %METHOD_129(i64* %118) | |
br label %BB33 | |
BB2: ; preds = %BB33 | |
%119 = load volatile i64*, i64** %11 | |
%120 = icmp eq i64* %119, null | |
br i1 %120, label %EX_BB27, label %NOEX_BB29 | |
EX_BB27: ; preds = %BB2 | |
br label %EX2_BB28 | |
EX2_BB28: ; preds = %EX_BB27 | |
%121 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %121 to void (i32)* | |
invoke void %JIT_ICALL_ADDR_108(i32 170) | |
to label %CALL_NOEX_BB30 unwind label %LPAD0_BB3 | |
NOEX_BB29: ; preds = %BB2 | |
%VTABLE_124 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 124) | |
%122 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_2713 = bitcast i64* %122 to i64* (i64, i64)* | |
%123 = ptrtoint i64* %VTABLE_124 to i64 | |
%124 = invoke i64* %METHOD_2713(i64 %123, i64 128) | |
to label %CALL_NOEX_BB32 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB30: ; preds = %EX2_BB28 | |
unreachable | |
CALL_NOEX_BB32: ; preds = %NOEX_BB29 | |
%125 = icmp eq i64* %119, null | |
br i1 %125, label %EX_BB33, label %NOEX_BB35 | |
EX_BB33: ; preds = %CALL_NOEX_BB32 | |
br label %EX2_BB34 | |
EX2_BB34: ; preds = %EX_BB33 | |
%126 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2214 = bitcast i64* %126 to void ()* | |
invoke void %JIT_ICALL_ADDR_2214() | |
to label %CALL_NOEX_BB36 unwind label %LPAD0_BB3 | |
NOEX_BB35: ; preds = %CALL_NOEX_BB32 | |
%127 = getelementptr i64, i64* %124, i32 4 | |
%128 = ptrtoint i64* %119 to i64 | |
store i64 %128, i64* %127 | |
%129 = ptrtoint i64* %124 to i64 | |
%t141 = add i64 %129, 32 | |
%t142 = lshr i64 %t141, 9 | |
%t264 = and i64 %t142, 8388607 | |
%GC_CARD_TABLE_ADDR_215 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%130 = ptrtoint i64* %GC_CARD_TABLE_ADDR_215 to i64 | |
%t265 = add i64 %t264, %130 | |
%131 = inttoptr i64 %t265 to i8* | |
%132 = getelementptr i8, i8* %131, i32 0 | |
store i8 1, i8* %132 | |
%133 = load volatile i64, i64* %8 | |
%RGCTX_SLOT_INDEX_METHOD = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 125) | |
%134 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx16 = bitcast i64* %134 to i64 (i64, i64)* | |
%135 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD to i64 | |
%136 = invoke i64 %jit_icall_mono_fill_class_rgctx16(i64 %133, i64 %135) | |
to label %CALL_NOEX_BB38 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB36: ; preds = %EX2_BB34 | |
unreachable | |
CALL_NOEX_BB38: ; preds = %NOEX_BB35 | |
%137 = getelementptr i64, i64* %124, i32 5 | |
store i64 %136, i64* %137 | |
%138 = load volatile i64, i64* %8 | |
%RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 126) | |
%139 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx17 = bitcast i64* %139 to i64 (i64, i64)* | |
%140 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE to i64 | |
%141 = invoke i64 %jit_icall_mono_fill_class_rgctx17(i64 %138, i64 %140) | |
to label %CALL_NOEX_BB39 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB39: ; preds = %CALL_NOEX_BB38 | |
%142 = getelementptr i64, i64* %124, i32 8 | |
store i64 %141, i64* %142 | |
%143 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 112) | |
%jit_icall_mini_llvmonly_init_delegate = bitcast i64* %143 to void (i64*)* | |
invoke void %jit_icall_mini_llvmonly_init_delegate(i64* %124) | |
to label %CALL_NOEX_BB40 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB40: ; preds = %CALL_NOEX_BB39 | |
%144 = icmp eq i64* %arg_beginMethod, null | |
br i1 %144, label %EX_BB41, label %NOEX_BB43 | |
EX_BB41: ; preds = %CALL_NOEX_BB40 | |
br label %EX2_BB42 | |
EX2_BB42: ; preds = %EX_BB41 | |
%145 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2218 = bitcast i64* %145 to void ()* | |
invoke void %JIT_ICALL_ADDR_2218() | |
to label %CALL_NOEX_BB44 unwind label %LPAD0_BB3 | |
NOEX_BB43: ; preds = %CALL_NOEX_BB40 | |
%t159 = load i64, i64* %arg_beginMethod | |
%146 = inttoptr i64 %t159 to i64* | |
%147 = getelementptr i64, i64* %146, i32 24 | |
%t156 = load i64, i64* %147 | |
%148 = icmp ne i64 %t156, 0 | |
%149 = call i1 @llvm.expect.i1(i1 %148, i1 true) | |
br i1 %149, label %BB37, label %BB38 | |
CALL_NOEX_BB44: ; preds = %EX2_BB42 | |
unreachable | |
BB37: ; preds = %CALL_NOEX_BB76, %NOEX_BB43 | |
%150 = phi i64 [ %t156, %NOEX_BB43 ], [ %158, %CALL_NOEX_BB76 ] | |
%151 = inttoptr i64 %150 to i64* | |
%t157 = load i64, i64* %151 | |
%152 = inttoptr i64 %150 to i64* | |
%153 = getelementptr i64, i64* %152, i32 1 | |
%t164 = load i64, i64* %153 | |
%154 = inttoptr i64 %t157 to i64* (i64*, i64*, i64*, i64*)* | |
%155 = inttoptr i64 %t164 to i64* | |
%156 = invoke i64* %154(i64* %arg_beginMethod, i64* %124, i64* %arg_state, i64* %155) | |
to label %CALL_NOEX_BB46 unwind label %LPAD0_BB3 | |
BB38: ; preds = %NOEX_BB43 | |
%157 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %157 to i64 (i64, i64)* | |
%158 = invoke i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t159, i64 15) | |
to label %CALL_NOEX_BB76 unwind label %LPAD0_BB3 | |
BB1: ; preds = %NOEX_BB56 | |
%159 = load volatile i64*, i64** %12 | |
ret i64* %159 | |
CALL_NOEX_BB46: ; preds = %BB37 | |
%160 = icmp eq i64* %156, null | |
br i1 %160, label %EX_BB47, label %NOEX_BB49 | |
EX_BB47: ; preds = %CALL_NOEX_BB46 | |
br label %EX2_BB48 | |
EX2_BB48: ; preds = %EX_BB47 | |
%161 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2219 = bitcast i64* %161 to void ()* | |
invoke void %JIT_ICALL_ADDR_2219() | |
to label %CALL_NOEX_BB50 unwind label %LPAD0_BB3 | |
NOEX_BB49: ; preds = %CALL_NOEX_BB46 | |
%t174 = load i64, i64* %156 | |
%162 = inttoptr i64 %t174 to i64* | |
%163 = getelementptr i64, i64* %162, i32 -4 | |
%t171 = load i64, i64* %163 | |
%164 = inttoptr i64 %t171 to i64* | |
%t172 = load i64, i64* %164 | |
%165 = inttoptr i64 %t171 to i64* | |
%166 = getelementptr i64, i64* %165, i32 1 | |
%t173 = load i64, i64* %166 | |
%METHODCONST_127 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 127) | |
%167 = inttoptr i64 %t172 to i64 (i64, i64)* | |
%168 = ptrtoint i64* %METHODCONST_127 to i64 | |
%169 = invoke i64 %167(i64 %t173, i64 %168) | |
to label %CALL_NOEX_BB52 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB50: ; preds = %EX2_BB48 | |
unreachable | |
CALL_NOEX_BB52: ; preds = %NOEX_BB49 | |
%170 = inttoptr i64 %169 to i64* | |
%t179 = load i64, i64* %170 | |
%171 = inttoptr i64 %169 to i64* | |
%172 = getelementptr i64, i64* %171, i32 1 | |
%t181 = load i64, i64* %172 | |
%173 = inttoptr i64 %t179 to i8 (i64*, i64*)* | |
%174 = inttoptr i64 %t181 to i64* | |
%175 = invoke i8 %173(i64* %156, i64* %174) | |
to label %CALL_NOEX_BB53 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB53: ; preds = %CALL_NOEX_BB52 | |
%176 = zext i8 %175 to i32 | |
%177 = trunc i32 %176 to i8 | |
%t185 = zext i8 %177 to i32 | |
%178 = icmp eq i32 %t185, 0 | |
br i1 %178, label %BB13, label %BB14 | |
BB13: ; preds = %CALL_NOEX_BB75, %CALL_NOEX_BB53 | |
br label %BB15 | |
BB14: ; preds = %CALL_NOEX_BB53 | |
%179 = load volatile i64*, i64** %11 | |
%180 = icmp eq i64* %179, null | |
br i1 %180, label %EX_BB58, label %NOEX_BB60 | |
BB15: ; preds = %BB13 | |
%181 = load volatile i64*, i64** %11 | |
%182 = icmp eq i64* %181, null | |
br i1 %182, label %EX_BB54, label %NOEX_BB56 | |
EX_BB54: ; preds = %BB15 | |
br label %EX2_BB55 | |
EX2_BB55: ; preds = %EX_BB54 | |
%183 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2220 = bitcast i64* %183 to void ()* | |
call void %JIT_ICALL_ADDR_2220() | |
unreachable | |
NOEX_BB56: ; preds = %BB15 | |
%184 = getelementptr i64, i64* %181, i32 4 | |
%t16 = load volatile i64, i64* %184 | |
%185 = inttoptr i64 %t16 to i64* | |
store i64* %185, i64** %12 | |
br label %BB1 | |
EX_BB58: ; preds = %BB14 | |
br label %EX2_BB59 | |
EX2_BB59: ; preds = %EX_BB58 | |
%186 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2221 = bitcast i64* %186 to void ()* | |
invoke void %JIT_ICALL_ADDR_2221() | |
to label %CALL_NOEX_BB61 unwind label %LPAD0_BB3 | |
NOEX_BB60: ; preds = %BB14 | |
%187 = getelementptr i64, i64* %179, i32 2 | |
%t188 = load volatile i64, i64* %187 | |
%188 = load volatile i64*, i64** %11 | |
%189 = icmp eq i64* %188, null | |
br i1 %189, label %EX_BB63, label %NOEX_BB65 | |
CALL_NOEX_BB61: ; preds = %EX2_BB59 | |
unreachable | |
EX_BB63: ; preds = %NOEX_BB60 | |
br label %EX2_BB64 | |
EX2_BB64: ; preds = %EX_BB63 | |
%190 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2222 = bitcast i64* %190 to void ()* | |
invoke void %JIT_ICALL_ADDR_2222() | |
to label %CALL_NOEX_BB66 unwind label %LPAD0_BB3 | |
NOEX_BB65: ; preds = %NOEX_BB60 | |
%191 = getelementptr i64, i64* %188, i32 3 | |
%t190 = load volatile i64, i64* %191 | |
%192 = load volatile i64*, i64** %11 | |
%193 = icmp eq i64* %192, null | |
br i1 %193, label %EX_BB68, label %NOEX_BB70 | |
CALL_NOEX_BB66: ; preds = %EX2_BB64 | |
unreachable | |
EX_BB68: ; preds = %NOEX_BB65 | |
br label %EX2_BB69 | |
EX2_BB69: ; preds = %EX_BB68 | |
%194 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2223 = bitcast i64* %194 to void ()* | |
invoke void %JIT_ICALL_ADDR_2223() | |
to label %CALL_NOEX_BB71 unwind label %LPAD0_BB3 | |
NOEX_BB70: ; preds = %NOEX_BB65 | |
%195 = getelementptr i64, i64* %192, i32 4 | |
%t192 = load volatile i64, i64* %195 | |
%196 = load volatile i64, i64* %8 | |
%RGCTX_SLOT_INDEX_VTABLE24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%197 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx25 = bitcast i64* %197 to i64 (i64, i64)* | |
%198 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE24 to i64 | |
%199 = invoke i64 %jit_icall_mono_fill_class_rgctx25(i64 %196, i64 %198) | |
to label %CALL_NOEX_BB73 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB71: ; preds = %EX2_BB69 | |
unreachable | |
CALL_NOEX_BB73: ; preds = %NOEX_BB70 | |
%200 = load volatile i64, i64* %8 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 128) | |
%201 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx27 = bitcast i64* %201 to i64 (i64, i64)* | |
%202 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC26 to i64 | |
%203 = invoke i64 %jit_icall_mono_fill_class_rgctx27(i64 %200, i64 %202) | |
to label %CALL_NOEX_BB74 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB74: ; preds = %CALL_NOEX_BB73 | |
%204 = inttoptr i64 %203 to i64* | |
%t204 = load i64, i64* %204 | |
%205 = inttoptr i64 %203 to i64* | |
%206 = getelementptr i64, i64* %205, i32 1 | |
%t206 = load i64, i64* %206 | |
%207 = inttoptr i64 %t204 to void (i64*, i64*, i64*, i64*, i8, i64*)* | |
%208 = inttoptr i64 %t188 to i64* | |
%209 = inttoptr i64 %t190 to i64* | |
%210 = inttoptr i64 %t192 to i64* | |
%211 = inttoptr i64 %t206 to i64* | |
invoke void %207(i64* %156, i64* %208, i64* %209, i64* %210, i8 0, i64* %211) | |
to label %CALL_NOEX_BB75 unwind label %LPAD0_BB3 | |
CALL_NOEX_BB75: ; preds = %CALL_NOEX_BB74 | |
br label %BB13 | |
CALL_NOEX_BB76: ; preds = %BB38 | |
br label %BB37 | |
EX_BB77: ; preds = %BB12 | |
br label %EX2_BB78 | |
EX2_BB78: ; preds = %EX_BB77 | |
%212 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2228 = bitcast i64* %212 to void ()* | |
call void %JIT_ICALL_ADDR_2228() | |
unreachable | |
NOEX_BB79: ; preds = %BB12 | |
%213 = getelementptr i64, i64* %101, i32 4 | |
%t112 = load volatile i64, i64* %213 | |
%LDSTR_130 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 130) | |
%214 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 131) | |
%METHOD_131 = bitcast i64* %214 to i64* (i64*, i64*)* | |
%215 = notail call i64* %METHOD_131(i64* %LDSTR_130, i64* %arg_beginMethod) | |
br label %BB11 | |
EX_BB81: ; preds = %BB9 | |
br label %EX2_BB82 | |
EX2_BB82: ; preds = %EX_BB81 | |
%216 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2229 = bitcast i64* %216 to void ()* | |
call void %JIT_ICALL_ADDR_2229() | |
unreachable | |
NOEX_BB83: ; preds = %BB9 | |
%217 = getelementptr i64, i64* %90, i32 3 | |
%t67 = load volatile i64, i64* %217 | |
%218 = icmp ne i64 %t67, 0 | |
br i1 %218, label %BB8, label %BB10 | |
BB10: ; preds = %NOEX_BB83 | |
%219 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %219 to i64* (i64)* | |
%220 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82708) | |
%221 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %221 to i64* (i64, i64*)* | |
%222 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %220) | |
%223 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %223 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %222) | |
unreachable | |
EH_CLAUSE0_BB3: ; preds = %BB3_CALL_HANDLER_TARGET | |
%224 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 90) | |
%jit_icall_mono_llvm_load_exception = bitcast i64* %224 to i64* ()* | |
%mono_llvm_load_exception = call i64* %jit_icall_mono_llvm_load_exception() | |
store i64* %mono_llvm_load_exception, i64** %exvar | |
%save_exception = load i64*, i64** %exvar | |
store i64* %save_exception, i64** %9 | |
%225 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 91) | |
%jit_icall_mono_llvm_clear_exception = bitcast i64* %225 to void ()* | |
call void %jit_icall_mono_llvm_clear_exception() | |
%GC_SAFE_POINT_FLAG_733 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%226 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_733 | |
%227 = icmp eq i64 %226, 0 | |
%228 = call i1 @llvm.expect.i1(i1 %227, i1 true) | |
br i1 %228, label %CONT_BB86, label %POLL_BB85 | |
POLL_BB85: ; preds = %EH_CLAUSE0_BB3 | |
%229 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll34 = bitcast i64* %229 to void ()* | |
call void %jit_icall_mono_threads_state_poll34() | |
br label %CONT_BB86 | |
CONT_BB86: ; preds = %POLL_BB85, %EH_CLAUSE0_BB3 | |
store i8 0, i8* %7 | |
%230 = load volatile i8, i8* %7 | |
%231 = zext i8 %230 to i32 | |
%232 = trunc i32 %231 to i8 | |
%t217 = zext i8 %232 to i32 | |
%233 = icmp eq i32 %t217, 0 | |
br i1 %233, label %BB16, label %BB17 | |
BB16: ; preds = %NOEX_BB89, %CONT_BB86 | |
%234 = load volatile i64*, i64** %11 | |
%235 = icmp eq i64* %234, null | |
br i1 %235, label %EX_BB91, label %NOEX_BB93 | |
BB17: ; preds = %CONT_BB86 | |
%236 = load volatile i64*, i64** %11 | |
%237 = icmp eq i64* %236, null | |
br i1 %237, label %EX_BB87, label %NOEX_BB89 | |
EX_BB87: ; preds = %BB17 | |
br label %EX2_BB88 | |
EX2_BB88: ; preds = %EX_BB87 | |
%238 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2235 = bitcast i64* %238 to void ()* | |
call void %JIT_ICALL_ADDR_2235() | |
unreachable | |
NOEX_BB89: ; preds = %BB17 | |
%239 = getelementptr i64, i64* %236, i32 4 | |
%t220 = load volatile i64, i64* %239 | |
store i32 0, i32* %6 | |
%240 = inttoptr i64 %t220 to i64* | |
store i64* %240, i64** %5 | |
store i32 3, i32* %4 | |
br label %BB16 | |
EX_BB91: ; preds = %BB16 | |
br label %EX2_BB92 | |
EX2_BB92: ; preds = %EX_BB91 | |
%241 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2236 = bitcast i64* %241 to void ()* | |
call void %JIT_ICALL_ADDR_2236() | |
unreachable | |
NOEX_BB93: ; preds = %BB16 | |
%242 = getelementptr i64, i64* %234, i32 4 | |
%t227 = load volatile i64, i64* %242 | |
%243 = inttoptr i64 %t227 to i64* | |
store i64* %243, i64** %3 | |
br label %BB53 | |
BB53: ; preds = %NOEX_BB93 | |
%VTABLE_9537 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 95) | |
%244 = ptrtoint i64* %VTABLE_9537 to i64 | |
store i64 %244, i64* %0 | |
%245 = load volatile i64, i64* %0 | |
%246 = inttoptr i64 %245 to i8* | |
%247 = getelementptr i8, i8* %246, i32 45 | |
%248 = load i8, i8* %247 | |
%249 = zext i8 %248 to i32 | |
%250 = sext i32 %249 to i64 | |
%251 = icmp ne i64 %250, 0 | |
br i1 %251, label %BB57, label %BB58 | |
BB57: ; preds = %BB58, %BB53 | |
%SFLDA_9639 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 96) | |
%252 = bitcast i64* %SFLDA_9639 to i8* | |
%253 = load i8, i8* %252 | |
%254 = zext i8 %253 to i32 | |
%255 = icmp eq i32 %254, 0 | |
br i1 %255, label %BB55, label %BB56 | |
BB58: ; preds = %BB53 | |
%256 = load volatile i64, i64* %0 | |
%257 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init38 = bitcast i64* %257 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init38(i64 %256) | |
br label %BB57 | |
BB55: ; preds = %BB56, %BB57 | |
%258 = load volatile i64*, i64** %11 | |
%259 = icmp eq i64* %258, null | |
br i1 %259, label %EX_BB95, label %NOEX_BB97 | |
BB56: ; preds = %BB57 | |
%260 = load volatile i64*, i64** %3 | |
%261 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 97) | |
%METHOD_97 = bitcast i64* %261 to void (i64*)* | |
notail call void %METHOD_97(i64* %260) | |
br label %BB55 | |
EX_BB95: ; preds = %BB55 | |
br label %EX2_BB96 | |
EX2_BB96: ; preds = %EX_BB95 | |
%262 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2240 = bitcast i64* %262 to void ()* | |
call void %JIT_ICALL_ADDR_2240() | |
unreachable | |
NOEX_BB97: ; preds = %BB55 | |
%263 = getelementptr i64, i64* %258, i32 4 | |
%t236 = load volatile i64, i64* %263 | |
%264 = bitcast %"OneThing`1<T1_INT>"* %10 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %264, i8 0, i32 4, i32 0, i1 false) | |
%265 = bitcast %"OneThing`1<T1_INT>"* %10 to i8* | |
%266 = bitcast %"OneThing`1<T1_INT>"* %14 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %266, i8* %265, i32 8, i32 0, i1 false) | |
%267 = icmp eq i64 %t236, 0 | |
br i1 %267, label %EX_BB99, label %NOEX_BB101 | |
EX_BB99: ; preds = %NOEX_BB97 | |
br label %EX2_BB100 | |
EX2_BB100: ; preds = %EX_BB99 | |
%268 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2241 = bitcast i64* %268 to void ()* | |
call void %JIT_ICALL_ADDR_2241() | |
unreachable | |
NOEX_BB101: ; preds = %NOEX_BB97 | |
%269 = load volatile i64, i64* %8 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC42 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 98) | |
%270 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx43 = bitcast i64* %270 to i64 (i64, i64)* | |
%271 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC42 to i64 | |
%272 = notail call i64 %jit_icall_mono_fill_class_rgctx43(i64 %269, i64 %271) | |
%273 = inttoptr i64 %272 to i64* | |
%t243 = load i64, i64* %273 | |
%274 = inttoptr i64 %272 to i64* | |
%275 = getelementptr i64, i64* %274, i32 1 | |
%t245 = load i64, i64* %275 | |
%276 = inttoptr i64 %t243 to i8 (i64*, i64, i64*)* | |
%277 = inttoptr i64 %t236 to i64* | |
%278 = bitcast %"OneThing`1<T1_INT>"* %14 to i64* | |
%279 = getelementptr i64, i64* %278, i32 0 | |
%280 = load i64, i64* %279 | |
%281 = inttoptr i64 %t245 to i64* | |
%282 = notail call i8 %276(i64* %277, i64 %280, i64* %281) | |
%283 = zext i8 %282 to i32 | |
%284 = load volatile i64*, i64** %9 | |
%285 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %285 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %284) | |
unreachable | |
NOTINITED_BB103: ; preds = %INIT_BB1 | |
%286 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 69, i64 %286) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_CreateCanceledTask_System_Threading_Tasks_TaskContinuationOptions_System_Threading_CancellationToken(i32 %arg_continuationOptions, i64 %arg_ct, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %"OneThing`1<T1_INT>", align 4 | |
%2 = alloca i64, align 8, !mono.this !0 | |
%3 = alloca %"OneThing`1<T1_INT>", align 4 | |
%4 = alloca i32, align 4 | |
%5 = alloca i32, align 4 | |
%6 = alloca %System.Threading.CancellationToken, align 8 | |
%7 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%8 = getelementptr i64, i64* %7, i32 0 | |
store i64 %arg_ct, i64* %8 | |
%9 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %9, i64* %2 | |
%10 = alloca %"OneThing`1<T1_INT>", align 1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 70) | |
%11 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%12 = icmp eq i8 %11, 0 | |
br i1 %12, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%13 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%14 = icmp eq i64 %13, 0 | |
%15 = call i1 @llvm.expect.i1(i1 %14, i1 true) | |
br i1 %15, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %16 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
store i32 0, i32* %5 | |
store i32 0, i32* %4 | |
%17 = bitcast %"OneThing`1<T1_INT>"* %3 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %17, i8 0, i32 4, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 71) | |
%METHOD_71 = bitcast i64* %18 to void (i32, i64*, i64*)* | |
%19 = bitcast i32* %5 to i64* | |
%20 = bitcast i32* %4 to i64* | |
notail call void %METHOD_71(i32 %arg_continuationOptions, i64* %19, i64* %20) | |
%21 = bitcast %"OneThing`1<T1_INT>"* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %21, i8 0, i32 4, i32 0, i1 false) | |
%22 = bitcast %"OneThing`1<T1_INT>"* %1 to i8* | |
%23 = bitcast %"OneThing`1<T1_INT>"* %10 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %23, i8* %22, i32 8, i32 0, i1 false) | |
%24 = load volatile i32, i32* %5 | |
%25 = load volatile i64, i64* %2 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 83) | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %26 to i64 (i64, i64)* | |
%27 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%28 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %25, i64 %27) | |
%29 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %29 to i64* (i64, i64)* | |
%30 = notail call i64* %METHOD_27(i64 %28, i64 80) | |
%31 = load volatile i64, i64* %2 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 133) | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %32 to i64 (i64, i64)* | |
%33 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%34 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %31, i64 %33) | |
%35 = inttoptr i64 %34 to i64* | |
%t47 = load i64, i64* %35 | |
%36 = inttoptr i64 %34 to i64* | |
%37 = getelementptr i64, i64* %36, i32 1 | |
%t49 = load i64, i64* %37 | |
%38 = inttoptr i64 %t47 to void (i64*, i8, i64, i32, i64, i64*)* | |
%39 = bitcast %"OneThing`1<T1_INT>"* %10 to i64* | |
%40 = getelementptr i64, i64* %39, i32 0 | |
%41 = load i64, i64* %40 | |
%42 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%43 = getelementptr i64, i64* %42, i32 0 | |
%44 = load i64, i64* %43 | |
%45 = inttoptr i64 %t49 to i64* | |
notail call void %38(i64* %30, i8 1, i64 %41, i32 %24, i64 %44, i64* %45) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %30 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
%46 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 70, i64 %46) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAll_System_Threading_Tasks_Task___System_Func_2_System_Threading_Tasks_Task___TResult_INST(i64* %this, i64* %arg_tasks, i64* %arg_continuationFunction) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
%3 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 71) | |
%4 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%5 = icmp eq i8 %4, 0 | |
br i1 %5, label %NOTINITED_BB17, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB17, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%6 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%7 = icmp eq i64 %6, 0 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %9 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%10 = ptrtoint i64* %arg_continuationFunction to i64 | |
%11 = icmp ne i64 %10, 0 | |
br i1 %11, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%12 = load volatile i64, i64* %0 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %EX_BB5, label %NOEX_BB7 | |
BB5: ; preds = %BB2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %14 to i64* (i64)* | |
%15 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82642) | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %16 to i64* (i64, i64*)* | |
%17 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %15) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %18 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %17) | |
unreachable | |
EX_BB5: ; preds = %BB4 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %19 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB4 | |
%20 = inttoptr i64 %12 to i32* | |
%21 = getelementptr i32, i32* %20, i32 9 | |
%t31 = load volatile i32, i32* %21 | |
%22 = load volatile i64, i64* %0 | |
%23 = icmp eq i64 %22, 0 | |
br i1 %23, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %24 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%25 = add i64 %22, 16 | |
%26 = inttoptr i64 %25 to i8* | |
%27 = bitcast %System.Threading.CancellationToken* %3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %27, i8* %26, i32 8, i32 0, i1 false) | |
%28 = load volatile i64, i64* %0 | |
%29 = icmp eq i64 %28, 0 | |
br i1 %29, label %EX_BB13, label %NOEX_BB15 | |
EX_BB13: ; preds = %NOEX_BB11 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %30 to void ()* | |
call void %JIT_ICALL_ADDR_222() | |
unreachable | |
NOEX_BB15: ; preds = %NOEX_BB11 | |
%31 = load volatile i64, i64* %0 | |
%32 = inttoptr i64 %31 to i64* | |
%t36 = load i64, i64* %32 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 100) | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %33 to i64 (i64, i64)* | |
%34 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%35 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t36, i64 %34) | |
%36 = inttoptr i64 %35 to i64* | |
%t41 = load i64, i64* %36 | |
%37 = inttoptr i64 %35 to i64* | |
%38 = getelementptr i64, i64* %37, i32 1 | |
%t43 = load i64, i64* %38 | |
%39 = inttoptr i64 %t41 to i64* (i64*, i64*)* | |
%40 = inttoptr i64 %28 to i64* | |
%41 = inttoptr i64 %t43 to i64* | |
%42 = notail call i64* %39(i64* %40, i64* %41) | |
%43 = load volatile i64, i64* %0 | |
%44 = inttoptr i64 %43 to i64* | |
%t48 = load i64, i64* %44 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%45 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx3 = bitcast i64* %45 to i64 (i64, i64)* | |
%46 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%47 = notail call i64 %jit_icall_mono_fill_class_rgctx3(i64 %t48, i64 %46) | |
%48 = load volatile i64, i64* %0 | |
%49 = inttoptr i64 %48 to i64* | |
%t54 = load i64, i64* %49 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC4 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 134) | |
%50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx5 = bitcast i64* %50 to i64 (i64, i64)* | |
%51 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC4 to i64 | |
%52 = notail call i64 %jit_icall_mono_fill_class_rgctx5(i64 %t54, i64 %51) | |
%53 = inttoptr i64 %52 to i64* | |
%t59 = load i64, i64* %53 | |
%54 = inttoptr i64 %52 to i64* | |
%55 = getelementptr i64, i64* %54, i32 1 | |
%t61 = load i64, i64* %55 | |
%56 = inttoptr i64 %t59 to i64* (i64*, i64*, i32, i64, i64*, i64*)* | |
%57 = bitcast %System.Threading.CancellationToken* %3 to i64* | |
%58 = getelementptr i64, i64* %57, i32 0 | |
%59 = load i64, i64* %58 | |
%60 = inttoptr i64 %t61 to i64* | |
%61 = notail call i64* %56(i64* %arg_tasks, i64* %arg_continuationFunction, i32 %t31, i64 %59, i64* %42, i64* %60) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB15 | |
%62 = phi i64* [ %61, %NOEX_BB15 ] | |
ret i64* %62 | |
NOTINITED_BB17: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 71, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAll_System_Threading_Tasks_Task___System_Func_2_System_Threading_Tasks_Task___TResult_INST_System_Threading_CancellationToken(i64* %this, i64* %arg_tasks, i64* %arg_continuationFunction, i64 %arg_cancellationToken) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 72) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = ptrtoint i64* %arg_continuationFunction to i64 | |
%14 = icmp ne i64 %13, 0 | |
br i1 %14, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%15 = load volatile i64, i64* %2 | |
%16 = icmp eq i64 %15, 0 | |
br i1 %16, label %EX_BB5, label %NOEX_BB7 | |
BB5: ; preds = %BB2 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %17 to i64* (i64)* | |
%18 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82642) | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %19 to i64* (i64, i64*)* | |
%20 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %18) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %21 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %20) | |
unreachable | |
EX_BB5: ; preds = %BB4 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %22 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB4 | |
%23 = inttoptr i64 %15 to i32* | |
%24 = getelementptr i32, i32* %23, i32 9 | |
%t32 = load volatile i32, i32* %24 | |
%25 = load volatile i64, i64* %2 | |
%26 = icmp eq i64 %25, 0 | |
br i1 %26, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %27 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%28 = load volatile i64, i64* %2 | |
%29 = inttoptr i64 %28 to i64* | |
%t36 = load i64, i64* %29 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 100) | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %30 to i64 (i64, i64)* | |
%31 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%32 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t36, i64 %31) | |
%33 = inttoptr i64 %32 to i64* | |
%t41 = load i64, i64* %33 | |
%34 = inttoptr i64 %32 to i64* | |
%35 = getelementptr i64, i64* %34, i32 1 | |
%t43 = load i64, i64* %35 | |
%36 = inttoptr i64 %t41 to i64* (i64*, i64*)* | |
%37 = inttoptr i64 %25 to i64* | |
%38 = inttoptr i64 %t43 to i64* | |
%39 = notail call i64* %36(i64* %37, i64* %38) | |
%40 = load volatile i64, i64* %2 | |
%41 = inttoptr i64 %40 to i64* | |
%t48 = load i64, i64* %41 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%42 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %42 to i64 (i64, i64)* | |
%43 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%44 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %t48, i64 %43) | |
%45 = load volatile i64, i64* %2 | |
%46 = inttoptr i64 %45 to i64* | |
%t54 = load i64, i64* %46 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 134) | |
%47 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %47 to i64 (i64, i64)* | |
%48 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC3 to i64 | |
%49 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %t54, i64 %48) | |
%50 = inttoptr i64 %49 to i64* | |
%t59 = load i64, i64* %50 | |
%51 = inttoptr i64 %49 to i64* | |
%52 = getelementptr i64, i64* %51, i32 1 | |
%t61 = load i64, i64* %52 | |
%53 = inttoptr i64 %t59 to i64* (i64*, i64*, i32, i64, i64*, i64*)* | |
%54 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%55 = getelementptr i64, i64* %54, i32 0 | |
%56 = load i64, i64* %55 | |
%57 = inttoptr i64 %t61 to i64* | |
%58 = notail call i64* %53(i64* %arg_tasks, i64* %arg_continuationFunction, i32 %t32, i64 %56, i64* %39, i64* %57) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11 | |
%59 = phi i64* [ %58, %NOEX_BB11 ] | |
ret i64* %59 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 72, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAll_System_Threading_Tasks_Task___System_Func_2_System_Threading_Tasks_Task___TResult_INST_System_Threading_Tasks_TaskContinuationOptions(i64* %this, i64* %arg_tasks, i64* %arg_continuationFunction, i32 %arg_continuationOptions) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
%3 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 73) | |
%4 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%5 = icmp eq i8 %4, 0 | |
br i1 %5, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%6 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%7 = icmp eq i64 %6, 0 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %9 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%10 = ptrtoint i64* %arg_continuationFunction to i64 | |
%11 = icmp ne i64 %10, 0 | |
br i1 %11, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%12 = load volatile i64, i64* %0 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %EX_BB5, label %NOEX_BB7 | |
BB5: ; preds = %BB2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %14 to i64* (i64)* | |
%15 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82642) | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %16 to i64* (i64, i64*)* | |
%17 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %15) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %18 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %17) | |
unreachable | |
EX_BB5: ; preds = %BB4 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %19 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB4 | |
%20 = add i64 %12, 16 | |
%21 = inttoptr i64 %20 to i8* | |
%22 = bitcast %System.Threading.CancellationToken* %3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %22, i8* %21, i32 8, i32 0, i1 false) | |
%23 = load volatile i64, i64* %0 | |
%24 = icmp eq i64 %23, 0 | |
br i1 %24, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %25 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%26 = load volatile i64, i64* %0 | |
%27 = inttoptr i64 %26 to i64* | |
%t36 = load i64, i64* %27 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 100) | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %28 to i64 (i64, i64)* | |
%29 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%30 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t36, i64 %29) | |
%31 = inttoptr i64 %30 to i64* | |
%t41 = load i64, i64* %31 | |
%32 = inttoptr i64 %30 to i64* | |
%33 = getelementptr i64, i64* %32, i32 1 | |
%t43 = load i64, i64* %33 | |
%34 = inttoptr i64 %t41 to i64* (i64*, i64*)* | |
%35 = inttoptr i64 %23 to i64* | |
%36 = inttoptr i64 %t43 to i64* | |
%37 = notail call i64* %34(i64* %35, i64* %36) | |
%38 = load volatile i64, i64* %0 | |
%39 = inttoptr i64 %38 to i64* | |
%t48 = load i64, i64* %39 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%40 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %40 to i64 (i64, i64)* | |
%41 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%42 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %t48, i64 %41) | |
%43 = load volatile i64, i64* %0 | |
%44 = inttoptr i64 %43 to i64* | |
%t54 = load i64, i64* %44 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 134) | |
%45 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %45 to i64 (i64, i64)* | |
%46 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC3 to i64 | |
%47 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %t54, i64 %46) | |
%48 = inttoptr i64 %47 to i64* | |
%t59 = load i64, i64* %48 | |
%49 = inttoptr i64 %47 to i64* | |
%50 = getelementptr i64, i64* %49, i32 1 | |
%t61 = load i64, i64* %50 | |
%51 = inttoptr i64 %t59 to i64* (i64*, i64*, i32, i64, i64*, i64*)* | |
%52 = bitcast %System.Threading.CancellationToken* %3 to i64* | |
%53 = getelementptr i64, i64* %52, i32 0 | |
%54 = load i64, i64* %53 | |
%55 = inttoptr i64 %t61 to i64* | |
%56 = notail call i64* %51(i64* %arg_tasks, i64* %arg_continuationFunction, i32 %arg_continuationOptions, i64 %54, i64* %37, i64* %55) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11 | |
%57 = phi i64* [ %56, %NOEX_BB11 ] | |
ret i64* %57 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 73, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAll_System_Threading_Tasks_Task___System_Func_2_System_Threading_Tasks_Task___TResult_INST_System_Threading_CancellationToken_System_Threading_Tasks_TaskContinuationOptions_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_tasks, i64* %arg_continuationFunction, i64 %arg_cancellationToken, i32 %arg_continuationOptions, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 74) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = ptrtoint i64* %arg_continuationFunction to i64 | |
%14 = icmp ne i64 %13, 0 | |
br i1 %14, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%15 = load volatile i64, i64* %2 | |
%16 = inttoptr i64 %15 to i64* | |
%t37 = load i64, i64* %16 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %17 to i64 (i64, i64)* | |
%18 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%19 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t37, i64 %18) | |
%20 = load volatile i64, i64* %2 | |
%21 = inttoptr i64 %20 to i64* | |
%t43 = load i64, i64* %21 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 134) | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %22 to i64 (i64, i64)* | |
%23 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%24 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t43, i64 %23) | |
%25 = inttoptr i64 %24 to i64* | |
%t48 = load i64, i64* %25 | |
%26 = inttoptr i64 %24 to i64* | |
%27 = getelementptr i64, i64* %26, i32 1 | |
%t50 = load i64, i64* %27 | |
%28 = inttoptr i64 %t48 to i64* (i64*, i64*, i32, i64, i64*, i64*)* | |
%29 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%30 = getelementptr i64, i64* %29, i32 0 | |
%31 = load i64, i64* %30 | |
%32 = inttoptr i64 %t50 to i64* | |
%33 = notail call i64* %28(i64* %arg_tasks, i64* %arg_continuationFunction, i32 %arg_continuationOptions, i64 %31, i64* %arg_scheduler, i64* %32) | |
br label %BB1 | |
BB5: ; preds = %BB2 | |
%34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %34 to i64* (i64)* | |
%35 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82642) | |
%36 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %36 to i64* (i64, i64*)* | |
%37 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %35) | |
%38 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %38 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %37) | |
unreachable | |
BB1: ; preds = %BB4 | |
%39 = phi i64* [ %33, %BB4 ] | |
ret i64* %39 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 74, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAllImpl_System_Threading_Tasks_Task___System_Func_2_System_Threading_Tasks_Task___TResult_INST_System_Threading_Tasks_TaskContinuationOptions_System_Threading_CancellationToken_System_Threading_Tasks_TaskScheduler(i64* %arg_tasks, i64* %arg_continuationFunction, i32 %arg_continuationOptions, i64 %arg_cancellationToken, i64* %arg_scheduler, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i64, align 8, !mono.this !0 | |
%2 = alloca %System.Threading.CancellationToken, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %5, i64* %1 | |
%6 = alloca %System.Threading.CancellationToken, align 8 | |
%7 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 75) | |
%8 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%9 = icmp eq i8 %8, 0 | |
br i1 %9, label %NOTINITED_BB17, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB17, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%10 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%11 = icmp eq i64 %10, 0 | |
%12 = call i1 @llvm.expect.i1(i1 %11, i1 true) | |
br i1 %12, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %13 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 80) | |
%METHOD_80 = bitcast i64* %14 to void (i32)* | |
notail call void %METHOD_80(i32 %arg_continuationOptions) | |
%15 = ptrtoint i64* %arg_tasks to i64 | |
%16 = icmp ne i64 %15, 0 | |
br i1 %16, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%17 = ptrtoint i64* %arg_scheduler to i64 | |
%18 = icmp ne i64 %17, 0 | |
br i1 %18, label %BB6, label %BB7 | |
BB5: ; preds = %BB2 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib23 = bitcast i64* %19 to i64* (i64)* | |
%20 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib23(i64 82824) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_124 = bitcast i64* %21 to i64* (i64, i64*)* | |
%22 = notail call i64* %jit_icall_mono_create_corlib_exception_124(i64 33554603, i64* %20) | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4125 = bitcast i64* %23 to void (i64*)* | |
call void %JIT_ICALL_ADDR_4125(i64* %22) | |
unreachable | |
BB6: ; preds = %BB4 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 135) | |
%METHOD_135 = bitcast i64* %24 to i64* (i64*)* | |
%25 = notail call i64* %METHOD_135(i64* %arg_tasks) | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 136) | |
%METHOD_136 = bitcast i64* %26 to i8 (i64*)* | |
%27 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%28 = notail call i8 %METHOD_136(i64* %27) | |
%29 = zext i8 %28 to i32 | |
%30 = trunc i32 %29 to i8 | |
%t48 = zext i8 %30 to i32 | |
%31 = icmp eq i32 %t48, 0 | |
br i1 %31, label %BB8, label %BB9 | |
BB7: ; preds = %BB4 | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %32 to i64* (i64)* | |
%33 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82526) | |
%34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %34 to i64* (i64, i64*)* | |
%35 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %33) | |
%36 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %36 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %35) | |
unreachable | |
BB8: ; preds = %BB9, %BB6 | |
%37 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 137) | |
%METHOD_137 = bitcast i64* %37 to i64* (i64*)* | |
%38 = notail call i64* %METHOD_137(i64* %25) | |
%39 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%40 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %40 to i64 (i64, i64)* | |
%41 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%42 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %39, i64 %41) | |
%43 = inttoptr i64 %42 to i8* | |
%44 = getelementptr i8, i8* %43, i32 45 | |
%45 = load i8, i8* %44 | |
%46 = zext i8 %45 to i32 | |
%47 = sext i32 %46 to i64 | |
%48 = icmp ne i64 %47, 0 | |
br i1 %48, label %BB13, label %BB14 | |
BB9: ; preds = %BB6 | |
%t51 = and i32 %arg_continuationOptions, 32 | |
%49 = icmp ne i32 %t51, 0 | |
br i1 %49, label %BB8, label %BB10 | |
BB13: ; preds = %BB14, %BB8 | |
%50 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%51 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %51 to i64 (i64, i64)* | |
%52 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA to i64 | |
%53 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %50, i64 %52) | |
%54 = inttoptr i64 %53 to i64* | |
%55 = getelementptr i64, i64* %54, i32 1 | |
%t88 = load i64, i64* %55 | |
%56 = inttoptr i64 %t88 to i64* | |
%57 = icmp ne i64 %t88, 0 | |
br i1 %57, label %BB11, label %BB12 | |
BB14: ; preds = %BB8 | |
%58 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init18 = bitcast i64* %58 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init18(i64 %42) | |
br label %BB13 | |
BB11: ; preds = %BB17, %BB13 | |
%59 = phi i64* [ %56, %BB13 ], [ %106, %BB17 ] | |
%60 = phi i64* [ %38, %BB13 ], [ %38, %BB17 ] | |
%61 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%62 = bitcast %System.Threading.CancellationToken* %7 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %62, i8* %61, i32 8, i32 0, i1 false) | |
%63 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_RGCTX = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 140) | |
%64 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %64 to i64 (i64, i64)* | |
%65 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_RGCTX to i64 | |
%66 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %63, i64 %65) | |
%67 = icmp eq i64* %60, null | |
br i1 %67, label %EX_BB5, label %NOEX_BB7 | |
BB12: ; preds = %BB13 | |
%68 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE4 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%69 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx5 = bitcast i64* %69 to i64 (i64, i64)* | |
%70 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE4 to i64 | |
%71 = notail call i64 %jit_icall_mono_fill_class_rgctx5(i64 %68, i64 %70) | |
%72 = inttoptr i64 %71 to i8* | |
%73 = getelementptr i8, i8* %72, i32 45 | |
%74 = load i8, i8* %73 | |
%75 = zext i8 %74 to i32 | |
%76 = sext i32 %75 to i64 | |
%77 = icmp ne i64 %76, 0 | |
br i1 %77, label %BB15, label %BB16 | |
EX_BB5: ; preds = %BB11 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%78 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %78 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB11 | |
%79 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 141) | |
%80 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx3 = bitcast i64* %80 to i64 (i64, i64)* | |
%81 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%82 = notail call i64 %jit_icall_mono_fill_class_rgctx3(i64 %79, i64 %81) | |
%83 = inttoptr i64 %82 to i64* | |
%t163 = load i64, i64* %83 | |
%84 = inttoptr i64 %82 to i64* | |
%85 = getelementptr i64, i64* %84, i32 1 | |
%t165 = load i64, i64* %85 | |
%86 = inttoptr i64 %t163 to i64* (i64*, i64*, i64*, i64*, i64, i32, i64*)* | |
%87 = bitcast %System.Threading.CancellationToken* %7 to i64* | |
%88 = getelementptr i64, i64* %87, i32 0 | |
%89 = load i64, i64* %88 | |
%90 = inttoptr i64 %t165 to i64* | |
%91 = notail call i64* %86(i64* %60, i64* %59, i64* %arg_continuationFunction, i64* %arg_scheduler, i64 %89, i32 %arg_continuationOptions, i64* %90) | |
br label %BB1 | |
BB1: ; preds = %BB10, %NOEX_BB7 | |
%92 = phi i64* [ %161, %BB10 ], [ %91, %NOEX_BB7 ] | |
ret i64* %92 | |
BB15: ; preds = %BB16, %BB12 | |
%93 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%94 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx7 = bitcast i64* %94 to i64 (i64, i64)* | |
%95 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA6 to i64 | |
%96 = notail call i64 %jit_icall_mono_fill_class_rgctx7(i64 %93, i64 %95) | |
%97 = inttoptr i64 %96 to i64* | |
%t107 = load i64, i64* %97 | |
%98 = icmp eq i64 %t107, 0 | |
br i1 %98, label %EX_BB9, label %NOEX_BB11 | |
BB16: ; preds = %BB12 | |
%99 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init17 = bitcast i64* %99 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init17(i64 %71) | |
br label %BB15 | |
EX_BB9: ; preds = %BB15 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%100 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %100 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 170) | |
unreachable | |
NOEX_BB11: ; preds = %BB15 | |
%101 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 142) | |
%102 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx9 = bitcast i64* %102 to i64 (i64, i64)* | |
%103 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE8 to i64 | |
%104 = notail call i64 %jit_icall_mono_fill_class_rgctx9(i64 %101, i64 %103) | |
%105 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %105 to i64* (i64, i64)* | |
%106 = notail call i64* %METHOD_27(i64 %104, i64 128) | |
%107 = icmp eq i64 %t107, 0 | |
br i1 %107, label %EX_BB13, label %NOEX_BB15 | |
EX_BB13: ; preds = %NOEX_BB11 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%108 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2210 = bitcast i64* %108 to void ()* | |
call void %JIT_ICALL_ADDR_2210() | |
unreachable | |
NOEX_BB15: ; preds = %NOEX_BB11 | |
%109 = getelementptr i64, i64* %106, i32 4 | |
store i64 %t107, i64* %109 | |
%110 = ptrtoint i64* %106 to i64 | |
%t117 = add i64 %110, 32 | |
%t118 = lshr i64 %t117, 9 | |
%t177 = and i64 %t118, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%111 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t178 = add i64 %t177, %111 | |
%112 = inttoptr i64 %t178 to i8* | |
%113 = getelementptr i8, i8* %112, i32 0 | |
store i8 1, i8* %113 | |
%114 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 143) | |
%115 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx11 = bitcast i64* %115 to i64 (i64, i64)* | |
%116 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD to i64 | |
%117 = notail call i64 %jit_icall_mono_fill_class_rgctx11(i64 %114, i64 %116) | |
%118 = getelementptr i64, i64* %106, i32 5 | |
store i64 %117, i64* %118 | |
%119 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 144) | |
%120 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx12 = bitcast i64* %120 to i64 (i64, i64)* | |
%121 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE to i64 | |
%122 = notail call i64 %jit_icall_mono_fill_class_rgctx12(i64 %119, i64 %121) | |
%123 = getelementptr i64, i64* %106, i32 8 | |
store i64 %122, i64* %123 | |
%124 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 112) | |
%jit_icall_mini_llvmonly_init_delegate = bitcast i64* %124 to void (i64*)* | |
notail call void %jit_icall_mini_llvmonly_init_delegate(i64* %106) | |
%125 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%126 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx14 = bitcast i64* %126 to i64 (i64, i64)* | |
%127 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE13 to i64 | |
%128 = notail call i64 %jit_icall_mono_fill_class_rgctx14(i64 %125, i64 %127) | |
%129 = inttoptr i64 %128 to i8* | |
%130 = getelementptr i8, i8* %129, i32 45 | |
%131 = load i8, i8* %130 | |
%132 = zext i8 %131 to i32 | |
%133 = sext i32 %132 to i64 | |
%134 = icmp ne i64 %133, 0 | |
br i1 %134, label %BB17, label %BB18 | |
BB17: ; preds = %BB18, %NOEX_BB15 | |
%135 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%136 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx16 = bitcast i64* %136 to i64 (i64, i64)* | |
%137 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA15 to i64 | |
%138 = notail call i64 %jit_icall_mono_fill_class_rgctx16(i64 %135, i64 %137) | |
%t146 = add i64 %138, 8 | |
%139 = inttoptr i64 %t146 to i64* | |
%140 = getelementptr i64, i64* %139, i32 0 | |
%141 = ptrtoint i64* %106 to i64 | |
store i64 %141, i64* %140 | |
br label %BB11 | |
BB18: ; preds = %NOEX_BB15 | |
%142 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init = bitcast i64* %142 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init(i64 %128) | |
br label %BB17 | |
BB10: ; preds = %BB9 | |
%143 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%144 = bitcast %System.Threading.CancellationToken* %6 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %144, i8* %143, i32 8, i32 0, i1 false) | |
%145 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%146 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx20 = bitcast i64* %146 to i64 (i64, i64)* | |
%147 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE19 to i64 | |
%148 = notail call i64 %jit_icall_mono_fill_class_rgctx20(i64 %145, i64 %147) | |
%149 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 145) | |
%150 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx22 = bitcast i64* %150 to i64 (i64, i64)* | |
%151 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC21 to i64 | |
%152 = notail call i64 %jit_icall_mono_fill_class_rgctx22(i64 %149, i64 %151) | |
%153 = inttoptr i64 %152 to i64* | |
%t64 = load i64, i64* %153 | |
%154 = inttoptr i64 %152 to i64* | |
%155 = getelementptr i64, i64* %154, i32 1 | |
%t66 = load i64, i64* %155 | |
%156 = inttoptr i64 %t64 to i64* (i32, i64, i64*)* | |
%157 = bitcast %System.Threading.CancellationToken* %6 to i64* | |
%158 = getelementptr i64, i64* %157, i32 0 | |
%159 = load i64, i64* %158 | |
%160 = inttoptr i64 %t66 to i64* | |
%161 = notail call i64* %156(i32 %arg_continuationOptions, i64 %159, i64* %160) | |
br label %BB1 | |
NOTINITED_BB17: ; preds = %INIT_BB1 | |
%162 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 75, i64 %162) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAllImpl_System_Threading_Tasks_Task___System_Action_1_System_Threading_Tasks_Task___System_Threading_Tasks_TaskContinuationOptions_System_Threading_CancellationToken_System_Threading_Tasks_TaskScheduler(i64* %arg_tasks, i64* %arg_continuationAction, i32 %arg_continuationOptions, i64 %arg_cancellationToken, i64* %arg_scheduler, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i64, align 8, !mono.this !0 | |
%2 = alloca %System.Threading.CancellationToken, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %5, i64* %1 | |
%6 = alloca %System.Threading.CancellationToken, align 8 | |
%7 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 76) | |
%8 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%9 = icmp eq i8 %8, 0 | |
br i1 %9, label %NOTINITED_BB17, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB17, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%10 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%11 = icmp eq i64 %10, 0 | |
%12 = call i1 @llvm.expect.i1(i1 %11, i1 true) | |
br i1 %12, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %13 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 80) | |
%METHOD_80 = bitcast i64* %14 to void (i32)* | |
notail call void %METHOD_80(i32 %arg_continuationOptions) | |
%15 = ptrtoint i64* %arg_tasks to i64 | |
%16 = icmp ne i64 %15, 0 | |
br i1 %16, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%17 = ptrtoint i64* %arg_scheduler to i64 | |
%18 = icmp ne i64 %17, 0 | |
br i1 %18, label %BB6, label %BB7 | |
BB5: ; preds = %BB2 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib23 = bitcast i64* %19 to i64* (i64)* | |
%20 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib23(i64 82824) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_124 = bitcast i64* %21 to i64* (i64, i64*)* | |
%22 = notail call i64* %jit_icall_mono_create_corlib_exception_124(i64 33554603, i64* %20) | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4125 = bitcast i64* %23 to void (i64*)* | |
call void %JIT_ICALL_ADDR_4125(i64* %22) | |
unreachable | |
BB6: ; preds = %BB4 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 135) | |
%METHOD_135 = bitcast i64* %24 to i64* (i64*)* | |
%25 = notail call i64* %METHOD_135(i64* %arg_tasks) | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 136) | |
%METHOD_136 = bitcast i64* %26 to i8 (i64*)* | |
%27 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%28 = notail call i8 %METHOD_136(i64* %27) | |
%29 = zext i8 %28 to i32 | |
%30 = trunc i32 %29 to i8 | |
%t48 = zext i8 %30 to i32 | |
%31 = icmp eq i32 %t48, 0 | |
br i1 %31, label %BB8, label %BB9 | |
BB7: ; preds = %BB4 | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %32 to i64* (i64)* | |
%33 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82526) | |
%34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %34 to i64* (i64, i64*)* | |
%35 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %33) | |
%36 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %36 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %35) | |
unreachable | |
BB8: ; preds = %BB9, %BB6 | |
%37 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 137) | |
%METHOD_137 = bitcast i64* %37 to i64* (i64*)* | |
%38 = notail call i64* %METHOD_137(i64* %25) | |
%39 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%40 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %40 to i64 (i64, i64)* | |
%41 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%42 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %39, i64 %41) | |
%43 = inttoptr i64 %42 to i8* | |
%44 = getelementptr i8, i8* %43, i32 45 | |
%45 = load i8, i8* %44 | |
%46 = zext i8 %45 to i32 | |
%47 = sext i32 %46 to i64 | |
%48 = icmp ne i64 %47, 0 | |
br i1 %48, label %BB13, label %BB14 | |
BB9: ; preds = %BB6 | |
%t51 = and i32 %arg_continuationOptions, 32 | |
%49 = icmp ne i32 %t51, 0 | |
br i1 %49, label %BB8, label %BB10 | |
BB13: ; preds = %BB14, %BB8 | |
%50 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%51 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %51 to i64 (i64, i64)* | |
%52 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA to i64 | |
%53 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %50, i64 %52) | |
%54 = inttoptr i64 %53 to i64* | |
%55 = getelementptr i64, i64* %54, i32 2 | |
%t88 = load i64, i64* %55 | |
%56 = inttoptr i64 %t88 to i64* | |
%57 = icmp ne i64 %t88, 0 | |
br i1 %57, label %BB11, label %BB12 | |
BB14: ; preds = %BB8 | |
%58 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init18 = bitcast i64* %58 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init18(i64 %42) | |
br label %BB13 | |
BB11: ; preds = %BB17, %BB13 | |
%59 = phi i64* [ %56, %BB13 ], [ %106, %BB17 ] | |
%60 = phi i64* [ %38, %BB13 ], [ %38, %BB17 ] | |
%61 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%62 = bitcast %System.Threading.CancellationToken* %7 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %62, i8* %61, i32 8, i32 0, i1 false) | |
%63 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_RGCTX = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 140) | |
%64 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %64 to i64 (i64, i64)* | |
%65 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_RGCTX to i64 | |
%66 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %63, i64 %65) | |
%67 = icmp eq i64* %60, null | |
br i1 %67, label %EX_BB5, label %NOEX_BB7 | |
BB12: ; preds = %BB13 | |
%68 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE4 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%69 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx5 = bitcast i64* %69 to i64 (i64, i64)* | |
%70 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE4 to i64 | |
%71 = notail call i64 %jit_icall_mono_fill_class_rgctx5(i64 %68, i64 %70) | |
%72 = inttoptr i64 %71 to i8* | |
%73 = getelementptr i8, i8* %72, i32 45 | |
%74 = load i8, i8* %73 | |
%75 = zext i8 %74 to i32 | |
%76 = sext i32 %75 to i64 | |
%77 = icmp ne i64 %76, 0 | |
br i1 %77, label %BB15, label %BB16 | |
EX_BB5: ; preds = %BB11 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%78 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %78 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB11 | |
%79 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 141) | |
%80 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx3 = bitcast i64* %80 to i64 (i64, i64)* | |
%81 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%82 = notail call i64 %jit_icall_mono_fill_class_rgctx3(i64 %79, i64 %81) | |
%83 = inttoptr i64 %82 to i64* | |
%t163 = load i64, i64* %83 | |
%84 = inttoptr i64 %82 to i64* | |
%85 = getelementptr i64, i64* %84, i32 1 | |
%t165 = load i64, i64* %85 | |
%86 = inttoptr i64 %t163 to i64* (i64*, i64*, i64*, i64*, i64, i32, i64*)* | |
%87 = bitcast %System.Threading.CancellationToken* %7 to i64* | |
%88 = getelementptr i64, i64* %87, i32 0 | |
%89 = load i64, i64* %88 | |
%90 = inttoptr i64 %t165 to i64* | |
%91 = notail call i64* %86(i64* %60, i64* %59, i64* %arg_continuationAction, i64* %arg_scheduler, i64 %89, i32 %arg_continuationOptions, i64* %90) | |
br label %BB1 | |
BB1: ; preds = %BB10, %NOEX_BB7 | |
%92 = phi i64* [ %161, %BB10 ], [ %91, %NOEX_BB7 ] | |
ret i64* %92 | |
BB15: ; preds = %BB16, %BB12 | |
%93 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%94 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx7 = bitcast i64* %94 to i64 (i64, i64)* | |
%95 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA6 to i64 | |
%96 = notail call i64 %jit_icall_mono_fill_class_rgctx7(i64 %93, i64 %95) | |
%97 = inttoptr i64 %96 to i64* | |
%t107 = load i64, i64* %97 | |
%98 = icmp eq i64 %t107, 0 | |
br i1 %98, label %EX_BB9, label %NOEX_BB11 | |
BB16: ; preds = %BB12 | |
%99 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init17 = bitcast i64* %99 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init17(i64 %71) | |
br label %BB15 | |
EX_BB9: ; preds = %BB15 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%100 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %100 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 170) | |
unreachable | |
NOEX_BB11: ; preds = %BB15 | |
%101 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE8 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 142) | |
%102 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx9 = bitcast i64* %102 to i64 (i64, i64)* | |
%103 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE8 to i64 | |
%104 = notail call i64 %jit_icall_mono_fill_class_rgctx9(i64 %101, i64 %103) | |
%105 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %105 to i64* (i64, i64)* | |
%106 = notail call i64* %METHOD_27(i64 %104, i64 128) | |
%107 = icmp eq i64 %t107, 0 | |
br i1 %107, label %EX_BB13, label %NOEX_BB15 | |
EX_BB13: ; preds = %NOEX_BB11 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%108 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2210 = bitcast i64* %108 to void ()* | |
call void %JIT_ICALL_ADDR_2210() | |
unreachable | |
NOEX_BB15: ; preds = %NOEX_BB11 | |
%109 = getelementptr i64, i64* %106, i32 4 | |
store i64 %t107, i64* %109 | |
%110 = ptrtoint i64* %106 to i64 | |
%t117 = add i64 %110, 32 | |
%t118 = lshr i64 %t117, 9 | |
%t177 = and i64 %t118, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%111 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t178 = add i64 %t177, %111 | |
%112 = inttoptr i64 %t178 to i8* | |
%113 = getelementptr i8, i8* %112, i32 0 | |
store i8 1, i8* %113 | |
%114 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 146) | |
%115 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx11 = bitcast i64* %115 to i64 (i64, i64)* | |
%116 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD to i64 | |
%117 = notail call i64 %jit_icall_mono_fill_class_rgctx11(i64 %114, i64 %116) | |
%118 = getelementptr i64, i64* %106, i32 5 | |
store i64 %117, i64* %118 | |
%119 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 147) | |
%120 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx12 = bitcast i64* %120 to i64 (i64, i64)* | |
%121 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE to i64 | |
%122 = notail call i64 %jit_icall_mono_fill_class_rgctx12(i64 %119, i64 %121) | |
%123 = getelementptr i64, i64* %106, i32 8 | |
store i64 %122, i64* %123 | |
%124 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 112) | |
%jit_icall_mini_llvmonly_init_delegate = bitcast i64* %124 to void (i64*)* | |
notail call void %jit_icall_mini_llvmonly_init_delegate(i64* %106) | |
%125 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%126 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx14 = bitcast i64* %126 to i64 (i64, i64)* | |
%127 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE13 to i64 | |
%128 = notail call i64 %jit_icall_mono_fill_class_rgctx14(i64 %125, i64 %127) | |
%129 = inttoptr i64 %128 to i8* | |
%130 = getelementptr i8, i8* %129, i32 45 | |
%131 = load i8, i8* %130 | |
%132 = zext i8 %131 to i32 | |
%133 = sext i32 %132 to i64 | |
%134 = icmp ne i64 %133, 0 | |
br i1 %134, label %BB17, label %BB18 | |
BB17: ; preds = %BB18, %NOEX_BB15 | |
%135 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA15 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%136 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx16 = bitcast i64* %136 to i64 (i64, i64)* | |
%137 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA15 to i64 | |
%138 = notail call i64 %jit_icall_mono_fill_class_rgctx16(i64 %135, i64 %137) | |
%t146 = add i64 %138, 16 | |
%139 = inttoptr i64 %t146 to i64* | |
%140 = getelementptr i64, i64* %139, i32 0 | |
%141 = ptrtoint i64* %106 to i64 | |
store i64 %141, i64* %140 | |
br label %BB11 | |
BB18: ; preds = %NOEX_BB15 | |
%142 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init = bitcast i64* %142 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init(i64 %128) | |
br label %BB17 | |
BB10: ; preds = %BB9 | |
%143 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%144 = bitcast %System.Threading.CancellationToken* %6 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %144, i8* %143, i32 8, i32 0, i1 false) | |
%145 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%146 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx20 = bitcast i64* %146 to i64 (i64, i64)* | |
%147 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE19 to i64 | |
%148 = notail call i64 %jit_icall_mono_fill_class_rgctx20(i64 %145, i64 %147) | |
%149 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 145) | |
%150 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx22 = bitcast i64* %150 to i64 (i64, i64)* | |
%151 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC21 to i64 | |
%152 = notail call i64 %jit_icall_mono_fill_class_rgctx22(i64 %149, i64 %151) | |
%153 = inttoptr i64 %152 to i64* | |
%t64 = load i64, i64* %153 | |
%154 = inttoptr i64 %152 to i64* | |
%155 = getelementptr i64, i64* %154, i32 1 | |
%t66 = load i64, i64* %155 | |
%156 = inttoptr i64 %t64 to i64* (i32, i64, i64*)* | |
%157 = bitcast %System.Threading.CancellationToken* %6 to i64* | |
%158 = getelementptr i64, i64* %157, i32 0 | |
%159 = load i64, i64* %158 | |
%160 = inttoptr i64 %t66 to i64* | |
%161 = notail call i64* %156(i32 %arg_continuationOptions, i64 %159, i64* %160) | |
br label %BB1 | |
NOTINITED_BB17: ; preds = %INIT_BB1 | |
%162 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 76, i64 %162) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAny_System_Threading_Tasks_Task___System_Func_2_System_Threading_Tasks_Task_TResult_INST(i64* %this, i64* %arg_tasks, i64* %arg_continuationFunction) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
%3 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 77) | |
%4 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%5 = icmp eq i8 %4, 0 | |
br i1 %5, label %NOTINITED_BB17, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB17, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%6 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%7 = icmp eq i64 %6, 0 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %9 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%10 = ptrtoint i64* %arg_continuationFunction to i64 | |
%11 = icmp ne i64 %10, 0 | |
br i1 %11, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%12 = load volatile i64, i64* %0 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %EX_BB5, label %NOEX_BB7 | |
BB5: ; preds = %BB2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %14 to i64* (i64)* | |
%15 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82642) | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %16 to i64* (i64, i64*)* | |
%17 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %15) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %18 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %17) | |
unreachable | |
EX_BB5: ; preds = %BB4 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %19 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB4 | |
%20 = inttoptr i64 %12 to i32* | |
%21 = getelementptr i32, i32* %20, i32 9 | |
%t31 = load volatile i32, i32* %21 | |
%22 = load volatile i64, i64* %0 | |
%23 = icmp eq i64 %22, 0 | |
br i1 %23, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %24 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%25 = add i64 %22, 16 | |
%26 = inttoptr i64 %25 to i8* | |
%27 = bitcast %System.Threading.CancellationToken* %3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %27, i8* %26, i32 8, i32 0, i1 false) | |
%28 = load volatile i64, i64* %0 | |
%29 = icmp eq i64 %28, 0 | |
br i1 %29, label %EX_BB13, label %NOEX_BB15 | |
EX_BB13: ; preds = %NOEX_BB11 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_222 = bitcast i64* %30 to void ()* | |
call void %JIT_ICALL_ADDR_222() | |
unreachable | |
NOEX_BB15: ; preds = %NOEX_BB11 | |
%31 = load volatile i64, i64* %0 | |
%32 = inttoptr i64 %31 to i64* | |
%t36 = load i64, i64* %32 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 100) | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %33 to i64 (i64, i64)* | |
%34 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%35 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t36, i64 %34) | |
%36 = inttoptr i64 %35 to i64* | |
%t41 = load i64, i64* %36 | |
%37 = inttoptr i64 %35 to i64* | |
%38 = getelementptr i64, i64* %37, i32 1 | |
%t43 = load i64, i64* %38 | |
%39 = inttoptr i64 %t41 to i64* (i64*, i64*)* | |
%40 = inttoptr i64 %28 to i64* | |
%41 = inttoptr i64 %t43 to i64* | |
%42 = notail call i64* %39(i64* %40, i64* %41) | |
%43 = load volatile i64, i64* %0 | |
%44 = inttoptr i64 %43 to i64* | |
%t48 = load i64, i64* %44 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%45 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx3 = bitcast i64* %45 to i64 (i64, i64)* | |
%46 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%47 = notail call i64 %jit_icall_mono_fill_class_rgctx3(i64 %t48, i64 %46) | |
%48 = load volatile i64, i64* %0 | |
%49 = inttoptr i64 %48 to i64* | |
%t54 = load i64, i64* %49 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC4 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 148) | |
%50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx5 = bitcast i64* %50 to i64 (i64, i64)* | |
%51 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC4 to i64 | |
%52 = notail call i64 %jit_icall_mono_fill_class_rgctx5(i64 %t54, i64 %51) | |
%53 = inttoptr i64 %52 to i64* | |
%t59 = load i64, i64* %53 | |
%54 = inttoptr i64 %52 to i64* | |
%55 = getelementptr i64, i64* %54, i32 1 | |
%t61 = load i64, i64* %55 | |
%56 = inttoptr i64 %t59 to i64* (i64*, i64*, i32, i64, i64*, i64*)* | |
%57 = bitcast %System.Threading.CancellationToken* %3 to i64* | |
%58 = getelementptr i64, i64* %57, i32 0 | |
%59 = load i64, i64* %58 | |
%60 = inttoptr i64 %t61 to i64* | |
%61 = notail call i64* %56(i64* %arg_tasks, i64* %arg_continuationFunction, i32 %t31, i64 %59, i64* %42, i64* %60) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB15 | |
%62 = phi i64* [ %61, %NOEX_BB15 ] | |
ret i64* %62 | |
NOTINITED_BB17: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 77, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAny_System_Threading_Tasks_Task___System_Func_2_System_Threading_Tasks_Task_TResult_INST_System_Threading_CancellationToken(i64* %this, i64* %arg_tasks, i64* %arg_continuationFunction, i64 %arg_cancellationToken) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 78) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = ptrtoint i64* %arg_continuationFunction to i64 | |
%14 = icmp ne i64 %13, 0 | |
br i1 %14, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%15 = load volatile i64, i64* %2 | |
%16 = icmp eq i64 %15, 0 | |
br i1 %16, label %EX_BB5, label %NOEX_BB7 | |
BB5: ; preds = %BB2 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %17 to i64* (i64)* | |
%18 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82642) | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %19 to i64* (i64, i64*)* | |
%20 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %18) | |
%21 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %21 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %20) | |
unreachable | |
EX_BB5: ; preds = %BB4 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %22 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB4 | |
%23 = inttoptr i64 %15 to i32* | |
%24 = getelementptr i32, i32* %23, i32 9 | |
%t32 = load volatile i32, i32* %24 | |
%25 = load volatile i64, i64* %2 | |
%26 = icmp eq i64 %25, 0 | |
br i1 %26, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%27 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %27 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%28 = load volatile i64, i64* %2 | |
%29 = inttoptr i64 %28 to i64* | |
%t36 = load i64, i64* %29 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 100) | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %30 to i64 (i64, i64)* | |
%31 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%32 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t36, i64 %31) | |
%33 = inttoptr i64 %32 to i64* | |
%t41 = load i64, i64* %33 | |
%34 = inttoptr i64 %32 to i64* | |
%35 = getelementptr i64, i64* %34, i32 1 | |
%t43 = load i64, i64* %35 | |
%36 = inttoptr i64 %t41 to i64* (i64*, i64*)* | |
%37 = inttoptr i64 %25 to i64* | |
%38 = inttoptr i64 %t43 to i64* | |
%39 = notail call i64* %36(i64* %37, i64* %38) | |
%40 = load volatile i64, i64* %2 | |
%41 = inttoptr i64 %40 to i64* | |
%t48 = load i64, i64* %41 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%42 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %42 to i64 (i64, i64)* | |
%43 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%44 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %t48, i64 %43) | |
%45 = load volatile i64, i64* %2 | |
%46 = inttoptr i64 %45 to i64* | |
%t54 = load i64, i64* %46 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 148) | |
%47 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %47 to i64 (i64, i64)* | |
%48 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC3 to i64 | |
%49 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %t54, i64 %48) | |
%50 = inttoptr i64 %49 to i64* | |
%t59 = load i64, i64* %50 | |
%51 = inttoptr i64 %49 to i64* | |
%52 = getelementptr i64, i64* %51, i32 1 | |
%t61 = load i64, i64* %52 | |
%53 = inttoptr i64 %t59 to i64* (i64*, i64*, i32, i64, i64*, i64*)* | |
%54 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%55 = getelementptr i64, i64* %54, i32 0 | |
%56 = load i64, i64* %55 | |
%57 = inttoptr i64 %t61 to i64* | |
%58 = notail call i64* %53(i64* %arg_tasks, i64* %arg_continuationFunction, i32 %t32, i64 %56, i64* %39, i64* %57) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11 | |
%59 = phi i64* [ %58, %NOEX_BB11 ] | |
ret i64* %59 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 78, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAny_System_Threading_Tasks_Task___System_Func_2_System_Threading_Tasks_Task_TResult_INST_System_Threading_Tasks_TaskContinuationOptions(i64* %this, i64* %arg_tasks, i64* %arg_continuationFunction, i32 %arg_continuationOptions) #5 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
%3 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 79) | |
%4 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%5 = icmp eq i8 %4, 0 | |
br i1 %5, label %NOTINITED_BB13, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB13, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%6 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%7 = icmp eq i64 %6, 0 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %9 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%10 = ptrtoint i64* %arg_continuationFunction to i64 | |
%11 = icmp ne i64 %10, 0 | |
br i1 %11, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%12 = load volatile i64, i64* %0 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %EX_BB5, label %NOEX_BB7 | |
BB5: ; preds = %BB2 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %14 to i64* (i64)* | |
%15 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82642) | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %16 to i64* (i64, i64*)* | |
%17 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %15) | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %18 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %17) | |
unreachable | |
EX_BB5: ; preds = %BB4 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %19 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB4 | |
%20 = add i64 %12, 16 | |
%21 = inttoptr i64 %20 to i8* | |
%22 = bitcast %System.Threading.CancellationToken* %3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %22, i8* %21, i32 8, i32 0, i1 false) | |
%23 = load volatile i64, i64* %0 | |
%24 = icmp eq i64 %23, 0 | |
br i1 %24, label %EX_BB9, label %NOEX_BB11 | |
EX_BB9: ; preds = %NOEX_BB7 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%25 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_221 = bitcast i64* %25 to void ()* | |
call void %JIT_ICALL_ADDR_221() | |
unreachable | |
NOEX_BB11: ; preds = %NOEX_BB7 | |
%26 = load volatile i64, i64* %0 | |
%27 = inttoptr i64 %26 to i64* | |
%t36 = load i64, i64* %27 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 100) | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %28 to i64 (i64, i64)* | |
%29 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%30 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t36, i64 %29) | |
%31 = inttoptr i64 %30 to i64* | |
%t41 = load i64, i64* %31 | |
%32 = inttoptr i64 %30 to i64* | |
%33 = getelementptr i64, i64* %32, i32 1 | |
%t43 = load i64, i64* %33 | |
%34 = inttoptr i64 %t41 to i64* (i64*, i64*)* | |
%35 = inttoptr i64 %23 to i64* | |
%36 = inttoptr i64 %t43 to i64* | |
%37 = notail call i64* %34(i64* %35, i64* %36) | |
%38 = load volatile i64, i64* %0 | |
%39 = inttoptr i64 %38 to i64* | |
%t48 = load i64, i64* %39 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%40 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %40 to i64 (i64, i64)* | |
%41 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%42 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %t48, i64 %41) | |
%43 = load volatile i64, i64* %0 | |
%44 = inttoptr i64 %43 to i64* | |
%t54 = load i64, i64* %44 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC3 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 148) | |
%45 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %45 to i64 (i64, i64)* | |
%46 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC3 to i64 | |
%47 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %t54, i64 %46) | |
%48 = inttoptr i64 %47 to i64* | |
%t59 = load i64, i64* %48 | |
%49 = inttoptr i64 %47 to i64* | |
%50 = getelementptr i64, i64* %49, i32 1 | |
%t61 = load i64, i64* %50 | |
%51 = inttoptr i64 %t59 to i64* (i64*, i64*, i32, i64, i64*, i64*)* | |
%52 = bitcast %System.Threading.CancellationToken* %3 to i64* | |
%53 = getelementptr i64, i64* %52, i32 0 | |
%54 = load i64, i64* %53 | |
%55 = inttoptr i64 %t61 to i64* | |
%56 = notail call i64* %51(i64* %arg_tasks, i64* %arg_continuationFunction, i32 %arg_continuationOptions, i64 %54, i64* %37, i64* %55) | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB11 | |
%57 = phi i64* [ %56, %NOEX_BB11 ] | |
ret i64* %57 | |
NOTINITED_BB13: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 79, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAny_System_Threading_Tasks_Task___System_Func_2_System_Threading_Tasks_Task_TResult_INST_System_Threading_CancellationToken_System_Threading_Tasks_TaskContinuationOptions_System_Threading_Tasks_TaskScheduler(i64* %this, i64* %arg_tasks, i64* %arg_continuationFunction, i64 %arg_cancellationToken, i32 %arg_continuationOptions, i64* %arg_scheduler) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %this to i64 | |
store i64 %5, i64* %2 | |
%6 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 80) | |
%7 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%8 = icmp eq i8 %7, 0 | |
br i1 %8, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%9 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%10 = icmp eq i64 %9, 0 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 true) | |
br i1 %11, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%12 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %12 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = ptrtoint i64* %arg_continuationFunction to i64 | |
%14 = icmp ne i64 %13, 0 | |
br i1 %14, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%15 = load volatile i64, i64* %2 | |
%16 = inttoptr i64 %15 to i64* | |
%t37 = load i64, i64* %16 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %17 to i64 (i64, i64)* | |
%18 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%19 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %t37, i64 %18) | |
%20 = load volatile i64, i64* %2 | |
%21 = inttoptr i64 %20 to i64* | |
%t43 = load i64, i64* %21 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 148) | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %22 to i64 (i64, i64)* | |
%23 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%24 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %t43, i64 %23) | |
%25 = inttoptr i64 %24 to i64* | |
%t48 = load i64, i64* %25 | |
%26 = inttoptr i64 %24 to i64* | |
%27 = getelementptr i64, i64* %26, i32 1 | |
%t50 = load i64, i64* %27 | |
%28 = inttoptr i64 %t48 to i64* (i64*, i64*, i32, i64, i64*, i64*)* | |
%29 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%30 = getelementptr i64, i64* %29, i32 0 | |
%31 = load i64, i64* %30 | |
%32 = inttoptr i64 %t50 to i64* | |
%33 = notail call i64* %28(i64* %arg_tasks, i64* %arg_continuationFunction, i32 %arg_continuationOptions, i64 %31, i64* %arg_scheduler, i64* %32) | |
br label %BB1 | |
BB5: ; preds = %BB2 | |
%34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %34 to i64* (i64)* | |
%35 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82642) | |
%36 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %36 to i64* (i64, i64*)* | |
%37 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %35) | |
%38 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %38 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %37) | |
unreachable | |
BB1: ; preds = %BB4 | |
%39 = phi i64* [ %33, %BB4 ] | |
ret i64* %39 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 80, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAnyImpl_System_Threading_Tasks_Task___System_Action_1_System_Threading_Tasks_Task_System_Threading_Tasks_TaskContinuationOptions_System_Threading_CancellationToken_System_Threading_Tasks_TaskScheduler(i64* %arg_tasks, i64* %arg_continuationAction, i32 %arg_continuationOptions, i64 %arg_cancellationToken, i64* %arg_scheduler, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i64, align 8, !mono.this !0 | |
%2 = alloca %System.Threading.CancellationToken, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %5, i64* %1 | |
%6 = alloca %System.Threading.CancellationToken, align 8 | |
%7 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 81) | |
%8 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%9 = icmp eq i8 %8, 0 | |
br i1 %9, label %NOTINITED_BB21, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB21, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%10 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%11 = icmp eq i64 %10, 0 | |
%12 = call i1 @llvm.expect.i1(i1 %11, i1 true) | |
br i1 %12, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %13 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 80) | |
%METHOD_80 = bitcast i64* %14 to void (i32)* | |
notail call void %METHOD_80(i32 %arg_continuationOptions) | |
%15 = ptrtoint i64* %arg_tasks to i64 | |
%16 = icmp ne i64 %15, 0 | |
br i1 %16, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%17 = icmp eq i64* %arg_tasks, null | |
br i1 %17, label %EX_BB5, label %NOEX_BB7 | |
BB5: ; preds = %BB2 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib27 = bitcast i64* %18 to i64* (i64)* | |
%19 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib27(i64 82824) | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_128 = bitcast i64* %20 to i64* (i64, i64*)* | |
%21 = notail call i64* %jit_icall_mono_create_corlib_exception_128(i64 33554603, i64* %19) | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4129 = bitcast i64* %22 to void (i64*)* | |
call void %JIT_ICALL_ADDR_4129(i64* %21) | |
unreachable | |
EX_BB5: ; preds = %BB4 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %23 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB4 | |
%24 = bitcast i64* %arg_tasks to i32* | |
%25 = getelementptr i32, i32* %24, i32 6 | |
%t35 = load volatile i32, i32* %25 | |
%26 = icmp ne i32 %t35, 0 | |
br i1 %26, label %BB6, label %BB7 | |
BB6: ; preds = %NOEX_BB7 | |
%27 = ptrtoint i64* %arg_scheduler to i64 | |
%28 = icmp ne i64 %27, 0 | |
br i1 %28, label %BB8, label %BB9 | |
BB7: ; preds = %NOEX_BB7 | |
%29 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib24 = bitcast i64* %29 to i64* (i64)* | |
%30 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib24(i64 82836) | |
%31 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib25 = bitcast i64* %31 to i64* (i64)* | |
%32 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib25(i64 82824) | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 155) | |
%jit_icall_mono_create_corlib_exception_2 = bitcast i64* %33 to i64* (i64, i64*, i64*)* | |
%34 = notail call i64* %jit_icall_mono_create_corlib_exception_2(i64 33554602, i64* %30, i64* %32) | |
%35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4126 = bitcast i64* %35 to void (i64*)* | |
call void %JIT_ICALL_ADDR_4126(i64* %34) | |
unreachable | |
BB8: ; preds = %BB6 | |
%36 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 149) | |
%METHOD_149 = bitcast i64* %36 to i64* (i64*)* | |
%37 = notail call i64* %METHOD_149(i64* %arg_tasks) | |
%38 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 136) | |
%METHOD_136 = bitcast i64* %38 to i8 (i64*)* | |
%39 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%40 = notail call i8 %METHOD_136(i64* %39) | |
%41 = zext i8 %40 to i32 | |
%42 = trunc i32 %41 to i8 | |
%t61 = zext i8 %42 to i32 | |
%43 = icmp eq i32 %t61, 0 | |
br i1 %43, label %BB10, label %BB11 | |
BB9: ; preds = %BB6 | |
%44 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %44 to i64* (i64)* | |
%45 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82526) | |
%46 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %46 to i64* (i64, i64*)* | |
%47 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %45) | |
%48 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %48 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %47) | |
unreachable | |
BB10: ; preds = %BB11, %BB8 | |
%49 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %50 to i64 (i64, i64)* | |
%51 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%52 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %49, i64 %51) | |
%53 = inttoptr i64 %52 to i8* | |
%54 = getelementptr i8, i8* %53, i32 45 | |
%55 = load i8, i8* %54 | |
%56 = zext i8 %55 to i32 | |
%57 = sext i32 %56 to i64 | |
%58 = icmp ne i64 %57, 0 | |
br i1 %58, label %BB15, label %BB16 | |
BB11: ; preds = %BB8 | |
%t64 = and i32 %arg_continuationOptions, 32 | |
%59 = icmp ne i32 %t64, 0 | |
br i1 %59, label %BB10, label %BB12 | |
BB15: ; preds = %BB16, %BB10 | |
%60 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%61 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %61 to i64 (i64, i64)* | |
%62 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA to i64 | |
%63 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %60, i64 %62) | |
%64 = inttoptr i64 %63 to i64* | |
%65 = getelementptr i64, i64* %64, i32 3 | |
%t99 = load i64, i64* %65 | |
%66 = inttoptr i64 %t99 to i64* | |
%67 = icmp ne i64 %t99, 0 | |
br i1 %67, label %BB13, label %BB14 | |
BB16: ; preds = %BB10 | |
%68 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init19 = bitcast i64* %68 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init19(i64 %52) | |
br label %BB15 | |
BB13: ; preds = %BB19, %BB15 | |
%69 = phi i64* [ %66, %BB15 ], [ %116, %BB19 ] | |
%70 = phi i64* [ %37, %BB15 ], [ %37, %BB19 ] | |
%71 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%72 = bitcast %System.Threading.CancellationToken* %7 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %72, i8* %71, i32 8, i32 0, i1 false) | |
%73 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_RGCTX = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 150) | |
%74 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %74 to i64 (i64, i64)* | |
%75 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_RGCTX to i64 | |
%76 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %73, i64 %75) | |
%77 = icmp eq i64* %70, null | |
br i1 %77, label %EX_BB9, label %NOEX_BB11 | |
BB14: ; preds = %BB15 | |
%78 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%79 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx6 = bitcast i64* %79 to i64 (i64, i64)* | |
%80 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE5 to i64 | |
%81 = notail call i64 %jit_icall_mono_fill_class_rgctx6(i64 %78, i64 %80) | |
%82 = inttoptr i64 %81 to i8* | |
%83 = getelementptr i8, i8* %82, i32 45 | |
%84 = load i8, i8* %83 | |
%85 = zext i8 %84 to i32 | |
%86 = sext i32 %85 to i64 | |
%87 = icmp ne i64 %86, 0 | |
br i1 %87, label %BB17, label %BB18 | |
EX_BB9: ; preds = %BB13 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%88 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %88 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB11: ; preds = %BB13 | |
%89 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 151) | |
%90 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %90 to i64 (i64, i64)* | |
%91 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%92 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %89, i64 %91) | |
%93 = inttoptr i64 %92 to i64* | |
%t174 = load i64, i64* %93 | |
%94 = inttoptr i64 %92 to i64* | |
%95 = getelementptr i64, i64* %94, i32 1 | |
%t176 = load i64, i64* %95 | |
%96 = inttoptr i64 %t174 to i64* (i64*, i64*, i64*, i64*, i64, i32, i64*)* | |
%97 = bitcast %System.Threading.CancellationToken* %7 to i64* | |
%98 = getelementptr i64, i64* %97, i32 0 | |
%99 = load i64, i64* %98 | |
%100 = inttoptr i64 %t176 to i64* | |
%101 = notail call i64* %96(i64* %70, i64* %69, i64* %arg_continuationAction, i64* %arg_scheduler, i64 %99, i32 %arg_continuationOptions, i64* %100) | |
br label %BB1 | |
BB1: ; preds = %BB12, %NOEX_BB11 | |
%102 = phi i64* [ %171, %BB12 ], [ %101, %NOEX_BB11 ] | |
ret i64* %102 | |
BB17: ; preds = %BB18, %BB14 | |
%103 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%104 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx8 = bitcast i64* %104 to i64 (i64, i64)* | |
%105 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA7 to i64 | |
%106 = notail call i64 %jit_icall_mono_fill_class_rgctx8(i64 %103, i64 %105) | |
%107 = inttoptr i64 %106 to i64* | |
%t118 = load i64, i64* %107 | |
%108 = icmp eq i64 %t118, 0 | |
br i1 %108, label %EX_BB13, label %NOEX_BB15 | |
BB18: ; preds = %BB14 | |
%109 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init18 = bitcast i64* %109 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init18(i64 %81) | |
br label %BB17 | |
EX_BB13: ; preds = %BB17 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%110 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %110 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 170) | |
unreachable | |
NOEX_BB15: ; preds = %BB17 | |
%111 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 152) | |
%112 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx10 = bitcast i64* %112 to i64 (i64, i64)* | |
%113 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE9 to i64 | |
%114 = notail call i64 %jit_icall_mono_fill_class_rgctx10(i64 %111, i64 %113) | |
%115 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %115 to i64* (i64, i64)* | |
%116 = notail call i64* %METHOD_27(i64 %114, i64 128) | |
%117 = icmp eq i64 %t118, 0 | |
br i1 %117, label %EX_BB17, label %NOEX_BB19 | |
EX_BB17: ; preds = %NOEX_BB15 | |
br label %EX2_BB18 | |
EX2_BB18: ; preds = %EX_BB17 | |
%118 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2211 = bitcast i64* %118 to void ()* | |
call void %JIT_ICALL_ADDR_2211() | |
unreachable | |
NOEX_BB19: ; preds = %NOEX_BB15 | |
%119 = getelementptr i64, i64* %116, i32 4 | |
store i64 %t118, i64* %119 | |
%120 = ptrtoint i64* %116 to i64 | |
%t128 = add i64 %120, 32 | |
%t129 = lshr i64 %t128, 9 | |
%t188 = and i64 %t129, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%121 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t189 = add i64 %t188, %121 | |
%122 = inttoptr i64 %t189 to i8* | |
%123 = getelementptr i8, i8* %122, i32 0 | |
store i8 1, i8* %123 | |
%124 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 153) | |
%125 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx12 = bitcast i64* %125 to i64 (i64, i64)* | |
%126 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD to i64 | |
%127 = notail call i64 %jit_icall_mono_fill_class_rgctx12(i64 %124, i64 %126) | |
%128 = getelementptr i64, i64* %116, i32 5 | |
store i64 %127, i64* %128 | |
%129 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 154) | |
%130 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx13 = bitcast i64* %130 to i64 (i64, i64)* | |
%131 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE to i64 | |
%132 = notail call i64 %jit_icall_mono_fill_class_rgctx13(i64 %129, i64 %131) | |
%133 = getelementptr i64, i64* %116, i32 8 | |
store i64 %132, i64* %133 | |
%134 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 112) | |
%jit_icall_mini_llvmonly_init_delegate = bitcast i64* %134 to void (i64*)* | |
notail call void %jit_icall_mini_llvmonly_init_delegate(i64* %116) | |
%135 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%136 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx15 = bitcast i64* %136 to i64 (i64, i64)* | |
%137 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE14 to i64 | |
%138 = notail call i64 %jit_icall_mono_fill_class_rgctx15(i64 %135, i64 %137) | |
%139 = inttoptr i64 %138 to i8* | |
%140 = getelementptr i8, i8* %139, i32 45 | |
%141 = load i8, i8* %140 | |
%142 = zext i8 %141 to i32 | |
%143 = sext i32 %142 to i64 | |
%144 = icmp ne i64 %143, 0 | |
br i1 %144, label %BB19, label %BB20 | |
BB19: ; preds = %BB20, %NOEX_BB19 | |
%145 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%146 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx17 = bitcast i64* %146 to i64 (i64, i64)* | |
%147 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA16 to i64 | |
%148 = notail call i64 %jit_icall_mono_fill_class_rgctx17(i64 %145, i64 %147) | |
%t157 = add i64 %148, 24 | |
%149 = inttoptr i64 %t157 to i64* | |
%150 = getelementptr i64, i64* %149, i32 0 | |
%151 = ptrtoint i64* %116 to i64 | |
store i64 %151, i64* %150 | |
br label %BB13 | |
BB20: ; preds = %NOEX_BB19 | |
%152 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init = bitcast i64* %152 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init(i64 %138) | |
br label %BB19 | |
BB12: ; preds = %BB11 | |
%153 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%154 = bitcast %System.Threading.CancellationToken* %6 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %154, i8* %153, i32 8, i32 0, i1 false) | |
%155 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%156 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx21 = bitcast i64* %156 to i64 (i64, i64)* | |
%157 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE20 to i64 | |
%158 = notail call i64 %jit_icall_mono_fill_class_rgctx21(i64 %155, i64 %157) | |
%159 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 145) | |
%160 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx23 = bitcast i64* %160 to i64 (i64, i64)* | |
%161 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC22 to i64 | |
%162 = notail call i64 %jit_icall_mono_fill_class_rgctx23(i64 %159, i64 %161) | |
%163 = inttoptr i64 %162 to i64* | |
%t77 = load i64, i64* %163 | |
%164 = inttoptr i64 %162 to i64* | |
%165 = getelementptr i64, i64* %164, i32 1 | |
%t79 = load i64, i64* %165 | |
%166 = inttoptr i64 %t77 to i64* (i32, i64, i64*)* | |
%167 = bitcast %System.Threading.CancellationToken* %6 to i64* | |
%168 = getelementptr i64, i64* %167, i32 0 | |
%169 = load i64, i64* %168 | |
%170 = inttoptr i64 %t79 to i64* | |
%171 = notail call i64* %166(i32 %arg_continuationOptions, i64 %169, i64* %170) | |
br label %BB1 | |
NOTINITED_BB21: ; preds = %INIT_BB1 | |
%172 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 81, i64 %172) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_TaskFactory_1_TResult_INST_ContinueWhenAnyImpl_System_Threading_Tasks_Task___System_Func_2_System_Threading_Tasks_Task_TResult_INST_System_Threading_Tasks_TaskContinuationOptions_System_Threading_CancellationToken_System_Threading_Tasks_TaskScheduler(i64* %arg_tasks, i64* %arg_continuationFunction, i32 %arg_continuationOptions, i64 %arg_cancellationToken, i64* %arg_scheduler, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i64, align 8, !mono.this !0 | |
%2 = alloca %System.Threading.CancellationToken, align 8 | |
%3 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_cancellationToken, i64* %4 | |
%5 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %5, i64* %1 | |
%6 = alloca %System.Threading.CancellationToken, align 8 | |
%7 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 82) | |
%8 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%9 = icmp eq i8 %8, 0 | |
br i1 %9, label %NOTINITED_BB21, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB21, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%10 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%11 = icmp eq i64 %10, 0 | |
%12 = call i1 @llvm.expect.i1(i1 %11, i1 true) | |
br i1 %12, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %13 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 80) | |
%METHOD_80 = bitcast i64* %14 to void (i32)* | |
notail call void %METHOD_80(i32 %arg_continuationOptions) | |
%15 = ptrtoint i64* %arg_tasks to i64 | |
%16 = icmp ne i64 %15, 0 | |
br i1 %16, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%17 = icmp eq i64* %arg_tasks, null | |
br i1 %17, label %EX_BB5, label %NOEX_BB7 | |
BB5: ; preds = %BB2 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib27 = bitcast i64* %18 to i64* (i64)* | |
%19 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib27(i64 82824) | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_128 = bitcast i64* %20 to i64* (i64, i64*)* | |
%21 = notail call i64* %jit_icall_mono_create_corlib_exception_128(i64 33554603, i64* %19) | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4129 = bitcast i64* %22 to void (i64*)* | |
call void %JIT_ICALL_ADDR_4129(i64* %21) | |
unreachable | |
EX_BB5: ; preds = %BB4 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %23 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB4 | |
%24 = bitcast i64* %arg_tasks to i32* | |
%25 = getelementptr i32, i32* %24, i32 6 | |
%t35 = load volatile i32, i32* %25 | |
%26 = icmp ne i32 %t35, 0 | |
br i1 %26, label %BB6, label %BB7 | |
BB6: ; preds = %NOEX_BB7 | |
%27 = ptrtoint i64* %arg_scheduler to i64 | |
%28 = icmp ne i64 %27, 0 | |
br i1 %28, label %BB8, label %BB9 | |
BB7: ; preds = %NOEX_BB7 | |
%29 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib24 = bitcast i64* %29 to i64* (i64)* | |
%30 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib24(i64 82836) | |
%31 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib25 = bitcast i64* %31 to i64* (i64)* | |
%32 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib25(i64 82824) | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 155) | |
%jit_icall_mono_create_corlib_exception_2 = bitcast i64* %33 to i64* (i64, i64*, i64*)* | |
%34 = notail call i64* %jit_icall_mono_create_corlib_exception_2(i64 33554602, i64* %30, i64* %32) | |
%35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_4126 = bitcast i64* %35 to void (i64*)* | |
call void %JIT_ICALL_ADDR_4126(i64* %34) | |
unreachable | |
BB8: ; preds = %BB6 | |
%36 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 149) | |
%METHOD_149 = bitcast i64* %36 to i64* (i64*)* | |
%37 = notail call i64* %METHOD_149(i64* %arg_tasks) | |
%38 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 136) | |
%METHOD_136 = bitcast i64* %38 to i8 (i64*)* | |
%39 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%40 = notail call i8 %METHOD_136(i64* %39) | |
%41 = zext i8 %40 to i32 | |
%42 = trunc i32 %41 to i8 | |
%t61 = zext i8 %42 to i32 | |
%43 = icmp eq i32 %t61, 0 | |
br i1 %43, label %BB10, label %BB11 | |
BB9: ; preds = %BB6 | |
%44 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %44 to i64* (i64)* | |
%45 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82526) | |
%46 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %46 to i64* (i64, i64*)* | |
%47 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %45) | |
%48 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %48 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %47) | |
unreachable | |
BB10: ; preds = %BB11, %BB8 | |
%49 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%50 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %50 to i64 (i64, i64)* | |
%51 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%52 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %49, i64 %51) | |
%53 = inttoptr i64 %52 to i8* | |
%54 = getelementptr i8, i8* %53, i32 45 | |
%55 = load i8, i8* %54 | |
%56 = zext i8 %55 to i32 | |
%57 = sext i32 %56 to i64 | |
%58 = icmp ne i64 %57, 0 | |
br i1 %58, label %BB15, label %BB16 | |
BB11: ; preds = %BB8 | |
%t64 = and i32 %arg_continuationOptions, 32 | |
%59 = icmp ne i32 %t64, 0 | |
br i1 %59, label %BB10, label %BB12 | |
BB15: ; preds = %BB16, %BB10 | |
%60 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%61 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %61 to i64 (i64, i64)* | |
%62 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA to i64 | |
%63 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %60, i64 %62) | |
%64 = inttoptr i64 %63 to i64* | |
%65 = getelementptr i64, i64* %64, i32 4 | |
%t99 = load i64, i64* %65 | |
%66 = inttoptr i64 %t99 to i64* | |
%67 = icmp ne i64 %t99, 0 | |
br i1 %67, label %BB13, label %BB14 | |
BB16: ; preds = %BB10 | |
%68 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init19 = bitcast i64* %68 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init19(i64 %52) | |
br label %BB15 | |
BB13: ; preds = %BB19, %BB15 | |
%69 = phi i64* [ %66, %BB15 ], [ %116, %BB19 ] | |
%70 = phi i64* [ %37, %BB15 ], [ %37, %BB19 ] | |
%71 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%72 = bitcast %System.Threading.CancellationToken* %7 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %72, i8* %71, i32 8, i32 0, i1 false) | |
%73 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_RGCTX = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 150) | |
%74 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx2 = bitcast i64* %74 to i64 (i64, i64)* | |
%75 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_RGCTX to i64 | |
%76 = notail call i64 %jit_icall_mono_fill_class_rgctx2(i64 %73, i64 %75) | |
%77 = icmp eq i64* %70, null | |
br i1 %77, label %EX_BB9, label %NOEX_BB11 | |
BB14: ; preds = %BB15 | |
%78 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%79 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx6 = bitcast i64* %79 to i64 (i64, i64)* | |
%80 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE5 to i64 | |
%81 = notail call i64 %jit_icall_mono_fill_class_rgctx6(i64 %78, i64 %80) | |
%82 = inttoptr i64 %81 to i8* | |
%83 = getelementptr i8, i8* %82, i32 45 | |
%84 = load i8, i8* %83 | |
%85 = zext i8 %84 to i32 | |
%86 = sext i32 %85 to i64 | |
%87 = icmp ne i64 %86, 0 | |
br i1 %87, label %BB17, label %BB18 | |
EX_BB9: ; preds = %BB13 | |
br label %EX2_BB10 | |
EX2_BB10: ; preds = %EX_BB9 | |
%88 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %88 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB11: ; preds = %BB13 | |
%89 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 151) | |
%90 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx4 = bitcast i64* %90 to i64 (i64, i64)* | |
%91 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%92 = notail call i64 %jit_icall_mono_fill_class_rgctx4(i64 %89, i64 %91) | |
%93 = inttoptr i64 %92 to i64* | |
%t174 = load i64, i64* %93 | |
%94 = inttoptr i64 %92 to i64* | |
%95 = getelementptr i64, i64* %94, i32 1 | |
%t176 = load i64, i64* %95 | |
%96 = inttoptr i64 %t174 to i64* (i64*, i64*, i64*, i64*, i64, i32, i64*)* | |
%97 = bitcast %System.Threading.CancellationToken* %7 to i64* | |
%98 = getelementptr i64, i64* %97, i32 0 | |
%99 = load i64, i64* %98 | |
%100 = inttoptr i64 %t176 to i64* | |
%101 = notail call i64* %96(i64* %70, i64* %69, i64* %arg_continuationFunction, i64* %arg_scheduler, i64 %99, i32 %arg_continuationOptions, i64* %100) | |
br label %BB1 | |
BB1: ; preds = %BB12, %NOEX_BB11 | |
%102 = phi i64* [ %171, %BB12 ], [ %101, %NOEX_BB11 ] | |
ret i64* %102 | |
BB17: ; preds = %BB18, %BB14 | |
%103 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%104 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx8 = bitcast i64* %104 to i64 (i64, i64)* | |
%105 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA7 to i64 | |
%106 = notail call i64 %jit_icall_mono_fill_class_rgctx8(i64 %103, i64 %105) | |
%107 = inttoptr i64 %106 to i64* | |
%t118 = load i64, i64* %107 | |
%108 = icmp eq i64 %t118, 0 | |
br i1 %108, label %EX_BB13, label %NOEX_BB15 | |
BB18: ; preds = %BB14 | |
%109 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init18 = bitcast i64* %109 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init18(i64 %81) | |
br label %BB17 | |
EX_BB13: ; preds = %BB17 | |
br label %EX2_BB14 | |
EX2_BB14: ; preds = %EX_BB13 | |
%110 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %110 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 170) | |
unreachable | |
NOEX_BB15: ; preds = %BB17 | |
%111 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE9 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 152) | |
%112 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx10 = bitcast i64* %112 to i64 (i64, i64)* | |
%113 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE9 to i64 | |
%114 = notail call i64 %jit_icall_mono_fill_class_rgctx10(i64 %111, i64 %113) | |
%115 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %115 to i64* (i64, i64)* | |
%116 = notail call i64* %METHOD_27(i64 %114, i64 128) | |
%117 = icmp eq i64 %t118, 0 | |
br i1 %117, label %EX_BB17, label %NOEX_BB19 | |
EX_BB17: ; preds = %NOEX_BB15 | |
br label %EX2_BB18 | |
EX2_BB18: ; preds = %EX_BB17 | |
%118 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_2211 = bitcast i64* %118 to void ()* | |
call void %JIT_ICALL_ADDR_2211() | |
unreachable | |
NOEX_BB19: ; preds = %NOEX_BB15 | |
%119 = getelementptr i64, i64* %116, i32 4 | |
store i64 %t118, i64* %119 | |
%120 = ptrtoint i64* %116 to i64 | |
%t128 = add i64 %120, 32 | |
%t129 = lshr i64 %t128, 9 | |
%t188 = and i64 %t129, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%121 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t189 = add i64 %t188, %121 | |
%122 = inttoptr i64 %t189 to i8* | |
%123 = getelementptr i8, i8* %122, i32 0 | |
store i8 1, i8* %123 | |
%124 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 156) | |
%125 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx12 = bitcast i64* %125 to i64 (i64, i64)* | |
%126 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD to i64 | |
%127 = notail call i64 %jit_icall_mono_fill_class_rgctx12(i64 %124, i64 %126) | |
%128 = getelementptr i64, i64* %116, i32 5 | |
store i64 %127, i64* %128 | |
%129 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 157) | |
%130 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx13 = bitcast i64* %130 to i64 (i64, i64)* | |
%131 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_DELEGATE_CODE to i64 | |
%132 = notail call i64 %jit_icall_mono_fill_class_rgctx13(i64 %129, i64 %131) | |
%133 = getelementptr i64, i64* %116, i32 8 | |
store i64 %132, i64* %133 | |
%134 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 112) | |
%jit_icall_mini_llvmonly_init_delegate = bitcast i64* %134 to void (i64*)* | |
notail call void %jit_icall_mini_llvmonly_init_delegate(i64* %116) | |
%135 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE14 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 138) | |
%136 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx15 = bitcast i64* %136 to i64 (i64, i64)* | |
%137 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE14 to i64 | |
%138 = notail call i64 %jit_icall_mono_fill_class_rgctx15(i64 %135, i64 %137) | |
%139 = inttoptr i64 %138 to i8* | |
%140 = getelementptr i8, i8* %139, i32 45 | |
%141 = load i8, i8* %140 | |
%142 = zext i8 %141 to i32 | |
%143 = sext i32 %142 to i64 | |
%144 = icmp ne i64 %143, 0 | |
br i1 %144, label %BB19, label %BB20 | |
BB19: ; preds = %BB20, %NOEX_BB19 | |
%145 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_STATIC_DATA16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 139) | |
%146 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx17 = bitcast i64* %146 to i64 (i64, i64)* | |
%147 = ptrtoint i64* %RGCTX_SLOT_INDEX_STATIC_DATA16 to i64 | |
%148 = notail call i64 %jit_icall_mono_fill_class_rgctx17(i64 %145, i64 %147) | |
%t157 = add i64 %148, 32 | |
%149 = inttoptr i64 %t157 to i64* | |
%150 = getelementptr i64, i64* %149, i32 0 | |
%151 = ptrtoint i64* %116 to i64 | |
store i64 %151, i64* %150 | |
br label %BB13 | |
BB20: ; preds = %NOEX_BB19 | |
%152 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 78) | |
%jit_icall_mono_generic_class_init = bitcast i64* %152 to void (i64)* | |
notail call void %jit_icall_mono_generic_class_init(i64 %138) | |
br label %BB19 | |
BB12: ; preds = %BB11 | |
%153 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%154 = bitcast %System.Threading.CancellationToken* %6 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %154, i8* %153, i32 8, i32 0, i1 false) | |
%155 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 101) | |
%156 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx21 = bitcast i64* %156 to i64 (i64, i64)* | |
%157 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE20 to i64 | |
%158 = notail call i64 %jit_icall_mono_fill_class_rgctx21(i64 %155, i64 %157) | |
%159 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 145) | |
%160 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx23 = bitcast i64* %160 to i64 (i64, i64)* | |
%161 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC22 to i64 | |
%162 = notail call i64 %jit_icall_mono_fill_class_rgctx23(i64 %159, i64 %161) | |
%163 = inttoptr i64 %162 to i64* | |
%t77 = load i64, i64* %163 | |
%164 = inttoptr i64 %162 to i64* | |
%165 = getelementptr i64, i64* %164, i32 1 | |
%t79 = load i64, i64* %165 | |
%166 = inttoptr i64 %t77 to i64* (i32, i64, i64*)* | |
%167 = bitcast %System.Threading.CancellationToken* %6 to i64* | |
%168 = getelementptr i64, i64* %167, i32 0 | |
%169 = load i64, i64* %168 | |
%170 = inttoptr i64 %t79 to i64* | |
%171 = notail call i64* %166(i32 %arg_continuationOptions, i64 %169, i64* %170) | |
br label %BB1 | |
NOTINITED_BB21: ; preds = %INIT_BB1 | |
%172 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 82, i64 %172) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @wrapper_delegate_invoke_System_Action_1_System_IAsyncResult_invoke_void_T_System_IAsyncResult(i64* %this, i64* %arg_0) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 83) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t24 = load i32, i32* %6 | |
%7 = icmp eq i32 %t24, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t20 = load i64, i64* %8 | |
%9 = icmp ne i64 %t20, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t20, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t22 = load i64, i64* %15 | |
%16 = icmp eq i64 %t22, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t20 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t19 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t123, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t20, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t124 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t20, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t20 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t125 = load volatile i32, i32* %30 | |
%31 = sext i32 %t125 to i64 | |
%32 = icmp ule i64 %31, %t124 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t20, %35 | |
%t95 = add i64 %36, 32 | |
%37 = inttoptr i64 %t95 to i64* | |
%t21 = load i64, i64* %37 | |
%38 = icmp eq i64 %t21, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t21 to i64* | |
%t102 = load i64, i64* %40 | |
%41 = inttoptr i64 %t102 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t99 = load i64, i64* %42 | |
%43 = icmp ne i64 %t99, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t99, %NOEX_BB25 ], [ %54, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t100 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t107 = load i64, i64* %48 | |
%49 = inttoptr i64 %t100 to void (i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t21 to i64* | |
%51 = inttoptr i64 %t107 to i64* | |
notail call void %49(i64* %50, i64* %arg_0, i64* %51) | |
%t123 = add i32 %20, 1 | |
%52 = icmp slt i32 %t123, %t19 | |
br i1 %52, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%53 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %53 to i64 (i64, i64)* | |
%54 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t102, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
ret void | |
BB10: ; preds = %BB9 | |
%55 = getelementptr i64, i64* %this, i32 7 | |
%t76 = load i64, i64* %55 | |
%56 = getelementptr i64, i64* %this, i32 2 | |
%t78 = load i64, i64* %56 | |
%t79 = and i64 %t76, 1 | |
%57 = icmp ne i64 %t79, 0 | |
br i1 %57, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%58 = getelementptr i64, i64* %this, i32 7 | |
%t57 = load i64, i64* %58 | |
%59 = getelementptr i64, i64* %this, i32 2 | |
%t59 = load i64, i64* %59 | |
%t60 = and i64 %t57, 1 | |
%60 = icmp ne i64 %t60, 0 | |
br i1 %60, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t119 = xor i64 %t76, 1 | |
%GSHAREDVT_IN_WRAPPER_158 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 158) | |
%61 = alloca i8, i32 16, align 16 | |
%62 = bitcast i8* %61 to i64* | |
%63 = getelementptr i64, i64* %62, i32 0 | |
store i64 %t78, i64* %63 | |
%64 = bitcast i8* %61 to i64* | |
%65 = getelementptr i64, i64* %64, i32 1 | |
store i64 %t119, i64* %65 | |
%66 = bitcast i64* %GSHAREDVT_IN_WRAPPER_158 to void (i64*, i64*)* | |
%67 = bitcast i8* %61 to i64* | |
notail call void %66(i64* %arg_0, i64* %67) | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%68 = inttoptr i64 %t78 to void (i64*, i64*)* | |
%69 = inttoptr i64 %t76 to i64* | |
notail call void %68(i64* %arg_0, i64* %69) | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t118 = xor i64 %t57, 1 | |
%GSHAREDVT_IN_WRAPPER_159 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 159) | |
%70 = alloca i8, i32 16, align 16 | |
%71 = bitcast i8* %70 to i64* | |
%72 = getelementptr i64, i64* %71, i32 0 | |
store i64 %t59, i64* %72 | |
%73 = bitcast i8* %70 to i64* | |
%74 = getelementptr i64, i64* %73, i32 1 | |
store i64 %t118, i64* %74 | |
%75 = bitcast i64* %GSHAREDVT_IN_WRAPPER_159 to void (i64*, i64*, i64*)* | |
%76 = inttoptr i64 %t22 to i64* | |
%77 = bitcast i8* %70 to i64* | |
notail call void %75(i64* %76, i64* %arg_0, i64* %77) | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%78 = inttoptr i64 %t59 to void (i64*, i64*, i64*)* | |
%79 = inttoptr i64 %t22 to i64* | |
%80 = inttoptr i64 %t57 to i64* | |
notail call void %78(i64* %79, i64* %arg_0, i64* %80) | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%81 = ptrtoint i64* %11 to i64 | |
%t36 = add i64 %81, 136 | |
%82 = inttoptr i64 %t36 to i32* | |
%83 = getelementptr i32, i32* %82, i32 0 | |
store i32 1, i32* %83 | |
%84 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %84 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 83) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @wrapper_delegate_invoke_System_Func_3_System_AsyncCallback_object_System_IAsyncResult_invoke_TResult_T1_T2_System_AsyncCallback_object(i64* %this, i64* %arg_0, i64* %arg_1) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 84) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t27 = load i32, i32* %6 | |
%7 = icmp eq i32 %t27, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t22 = load i64, i64* %8 | |
%9 = icmp ne i64 %t22, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t22, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t24 = load i64, i64* %15 | |
%16 = icmp eq i64 %t24, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t22 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t21 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t147, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t22, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t149 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t22, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t22 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t150 = load volatile i32, i32* %30 | |
%31 = sext i32 %t150 to i64 | |
%32 = icmp ule i64 %31, %t149 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t22, %35 | |
%t108 = add i64 %36, 32 | |
%37 = inttoptr i64 %t108 to i64* | |
%t23 = load i64, i64* %37 | |
%38 = icmp eq i64 %t23, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t23 to i64* | |
%t116 = load i64, i64* %40 | |
%41 = inttoptr i64 %t116 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t113 = load i64, i64* %42 | |
%43 = icmp ne i64 %t113, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t113, %NOEX_BB25 ], [ %55, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t114 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t121 = load i64, i64* %48 | |
%49 = inttoptr i64 %t114 to i64* (i64*, i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t23 to i64* | |
%51 = inttoptr i64 %t121 to i64* | |
%52 = notail call i64* %49(i64* %50, i64* %arg_0, i64* %arg_1, i64* %51) | |
%t147 = add i32 %20, 1 | |
%53 = icmp slt i32 %t147, %t21 | |
br i1 %53, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %54 to i64 (i64, i64)* | |
%55 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t116, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
%56 = phi i64* [ %94, %BB15 ], [ %77, %BB20 ], [ %52, %BB13 ] | |
ret i64* %56 | |
BB10: ; preds = %BB9 | |
%57 = getelementptr i64, i64* %this, i32 7 | |
%t85 = load i64, i64* %57 | |
%58 = getelementptr i64, i64* %this, i32 2 | |
%t87 = load i64, i64* %58 | |
%t88 = and i64 %t85, 1 | |
%59 = icmp ne i64 %t88, 0 | |
br i1 %59, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%60 = getelementptr i64, i64* %this, i32 7 | |
%t61 = load i64, i64* %60 | |
%61 = getelementptr i64, i64* %this, i32 2 | |
%t63 = load i64, i64* %61 | |
%t64 = and i64 %t61, 1 | |
%62 = icmp ne i64 %t64, 0 | |
br i1 %62, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t142 = xor i64 %t85, 1 | |
%GSHAREDVT_IN_WRAPPER_161 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 161) | |
%63 = alloca i8, i32 16, align 16 | |
%64 = bitcast i8* %63 to i64* | |
%65 = getelementptr i64, i64* %64, i32 0 | |
store i64 %t87, i64* %65 | |
%66 = bitcast i8* %63 to i64* | |
%67 = getelementptr i64, i64* %66, i32 1 | |
store i64 %t142, i64* %67 | |
%68 = bitcast i64* %GSHAREDVT_IN_WRAPPER_161 to i64* (i64*, i64*, i64*)* | |
%69 = bitcast i8* %63 to i64* | |
%70 = notail call i64* %68(i64* %arg_0, i64* %arg_1, i64* %69) | |
%71 = ptrtoint i64* %70 to i64 | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%72 = inttoptr i64 %t87 to i64* (i64*, i64*, i64*)* | |
%73 = inttoptr i64 %t85 to i64* | |
%74 = notail call i64* %72(i64* %arg_0, i64* %arg_1, i64* %73) | |
%75 = ptrtoint i64* %74 to i64 | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
%76 = phi i64 [ %75, %BB21 ], [ %71, %BB19 ] | |
%77 = inttoptr i64 %76 to i64* | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t138 = xor i64 %t61, 1 | |
%GSHAREDVT_IN_WRAPPER_162 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 162) | |
%78 = alloca i8, i32 16, align 16 | |
%79 = bitcast i8* %78 to i64* | |
%80 = getelementptr i64, i64* %79, i32 0 | |
store i64 %t63, i64* %80 | |
%81 = bitcast i8* %78 to i64* | |
%82 = getelementptr i64, i64* %81, i32 1 | |
store i64 %t138, i64* %82 | |
%83 = bitcast i64* %GSHAREDVT_IN_WRAPPER_162 to i64* (i64*, i64*, i64*, i64*)* | |
%84 = inttoptr i64 %t24 to i64* | |
%85 = bitcast i8* %78 to i64* | |
%86 = notail call i64* %83(i64* %84, i64* %arg_0, i64* %arg_1, i64* %85) | |
%87 = ptrtoint i64* %86 to i64 | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%88 = inttoptr i64 %t63 to i64* (i64*, i64*, i64*, i64*)* | |
%89 = inttoptr i64 %t24 to i64* | |
%90 = inttoptr i64 %t61 to i64* | |
%91 = notail call i64* %88(i64* %89, i64* %arg_0, i64* %arg_1, i64* %90) | |
%92 = ptrtoint i64* %91 to i64 | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
%93 = phi i64 [ %92, %BB16 ], [ %87, %BB14 ] | |
%94 = inttoptr i64 %93 to i64* | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%95 = ptrtoint i64* %11 to i64 | |
%t39 = add i64 %95, 136 | |
%96 = inttoptr i64 %t39 to i32* | |
%97 = getelementptr i32, i32* %96, i32 0 | |
store i32 1, i32* %97 | |
%98 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %98 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 84) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @wrapper_delegate_invoke_System_Action_1_System_Threading_Tasks_Task___invoke_void_T_System_Threading_Tasks_Task__(i64* %this, i64* %arg_0) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 85) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t24 = load i32, i32* %6 | |
%7 = icmp eq i32 %t24, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t20 = load i64, i64* %8 | |
%9 = icmp ne i64 %t20, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t20, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t22 = load i64, i64* %15 | |
%16 = icmp eq i64 %t22, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t20 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t19 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t123, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t20, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t124 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t20, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t20 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t125 = load volatile i32, i32* %30 | |
%31 = sext i32 %t125 to i64 | |
%32 = icmp ule i64 %31, %t124 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t20, %35 | |
%t95 = add i64 %36, 32 | |
%37 = inttoptr i64 %t95 to i64* | |
%t21 = load i64, i64* %37 | |
%38 = icmp eq i64 %t21, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t21 to i64* | |
%t102 = load i64, i64* %40 | |
%41 = inttoptr i64 %t102 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t99 = load i64, i64* %42 | |
%43 = icmp ne i64 %t99, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t99, %NOEX_BB25 ], [ %54, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t100 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t107 = load i64, i64* %48 | |
%49 = inttoptr i64 %t100 to void (i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t21 to i64* | |
%51 = inttoptr i64 %t107 to i64* | |
notail call void %49(i64* %50, i64* %arg_0, i64* %51) | |
%t123 = add i32 %20, 1 | |
%52 = icmp slt i32 %t123, %t19 | |
br i1 %52, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%53 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %53 to i64 (i64, i64)* | |
%54 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t102, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
ret void | |
BB10: ; preds = %BB9 | |
%55 = getelementptr i64, i64* %this, i32 7 | |
%t76 = load i64, i64* %55 | |
%56 = getelementptr i64, i64* %this, i32 2 | |
%t78 = load i64, i64* %56 | |
%t79 = and i64 %t76, 1 | |
%57 = icmp ne i64 %t79, 0 | |
br i1 %57, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%58 = getelementptr i64, i64* %this, i32 7 | |
%t57 = load i64, i64* %58 | |
%59 = getelementptr i64, i64* %this, i32 2 | |
%t59 = load i64, i64* %59 | |
%t60 = and i64 %t57, 1 | |
%60 = icmp ne i64 %t60, 0 | |
br i1 %60, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t119 = xor i64 %t76, 1 | |
%GSHAREDVT_IN_WRAPPER_163 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 163) | |
%61 = alloca i8, i32 16, align 16 | |
%62 = bitcast i8* %61 to i64* | |
%63 = getelementptr i64, i64* %62, i32 0 | |
store i64 %t78, i64* %63 | |
%64 = bitcast i8* %61 to i64* | |
%65 = getelementptr i64, i64* %64, i32 1 | |
store i64 %t119, i64* %65 | |
%66 = bitcast i64* %GSHAREDVT_IN_WRAPPER_163 to void (i64*, i64*)* | |
%67 = bitcast i8* %61 to i64* | |
notail call void %66(i64* %arg_0, i64* %67) | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%68 = inttoptr i64 %t78 to void (i64*, i64*)* | |
%69 = inttoptr i64 %t76 to i64* | |
notail call void %68(i64* %arg_0, i64* %69) | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t118 = xor i64 %t57, 1 | |
%GSHAREDVT_IN_WRAPPER_164 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 164) | |
%70 = alloca i8, i32 16, align 16 | |
%71 = bitcast i8* %70 to i64* | |
%72 = getelementptr i64, i64* %71, i32 0 | |
store i64 %t59, i64* %72 | |
%73 = bitcast i8* %70 to i64* | |
%74 = getelementptr i64, i64* %73, i32 1 | |
store i64 %t118, i64* %74 | |
%75 = bitcast i64* %GSHAREDVT_IN_WRAPPER_164 to void (i64*, i64*, i64*)* | |
%76 = inttoptr i64 %t22 to i64* | |
%77 = bitcast i8* %70 to i64* | |
notail call void %75(i64* %76, i64* %arg_0, i64* %77) | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%78 = inttoptr i64 %t59 to void (i64*, i64*, i64*)* | |
%79 = inttoptr i64 %t22 to i64* | |
%80 = inttoptr i64 %t57 to i64* | |
notail call void %78(i64* %79, i64* %arg_0, i64* %80) | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%81 = ptrtoint i64* %11 to i64 | |
%t36 = add i64 %81, 136 | |
%82 = inttoptr i64 %t36 to i32* | |
%83 = getelementptr i32, i32* %82, i32 0 | |
store i32 1, i32* %83 | |
%84 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %84 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 85) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @wrapper_delegate_invoke_System_Action_1_System_Threading_Tasks_Task_invoke_void_T_System_Threading_Tasks_Task(i64* %this, i64* %arg_0) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 86) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t24 = load i32, i32* %6 | |
%7 = icmp eq i32 %t24, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t20 = load i64, i64* %8 | |
%9 = icmp ne i64 %t20, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t20, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t22 = load i64, i64* %15 | |
%16 = icmp eq i64 %t22, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t20 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t19 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t123, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t20, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t124 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t20, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t20 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t125 = load volatile i32, i32* %30 | |
%31 = sext i32 %t125 to i64 | |
%32 = icmp ule i64 %31, %t124 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t20, %35 | |
%t95 = add i64 %36, 32 | |
%37 = inttoptr i64 %t95 to i64* | |
%t21 = load i64, i64* %37 | |
%38 = icmp eq i64 %t21, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t21 to i64* | |
%t102 = load i64, i64* %40 | |
%41 = inttoptr i64 %t102 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t99 = load i64, i64* %42 | |
%43 = icmp ne i64 %t99, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t99, %NOEX_BB25 ], [ %54, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t100 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t107 = load i64, i64* %48 | |
%49 = inttoptr i64 %t100 to void (i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t21 to i64* | |
%51 = inttoptr i64 %t107 to i64* | |
notail call void %49(i64* %50, i64* %arg_0, i64* %51) | |
%t123 = add i32 %20, 1 | |
%52 = icmp slt i32 %t123, %t19 | |
br i1 %52, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%53 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %53 to i64 (i64, i64)* | |
%54 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t102, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
ret void | |
BB10: ; preds = %BB9 | |
%55 = getelementptr i64, i64* %this, i32 7 | |
%t76 = load i64, i64* %55 | |
%56 = getelementptr i64, i64* %this, i32 2 | |
%t78 = load i64, i64* %56 | |
%t79 = and i64 %t76, 1 | |
%57 = icmp ne i64 %t79, 0 | |
br i1 %57, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%58 = getelementptr i64, i64* %this, i32 7 | |
%t57 = load i64, i64* %58 | |
%59 = getelementptr i64, i64* %this, i32 2 | |
%t59 = load i64, i64* %59 | |
%t60 = and i64 %t57, 1 | |
%60 = icmp ne i64 %t60, 0 | |
br i1 %60, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t119 = xor i64 %t76, 1 | |
%GSHAREDVT_IN_WRAPPER_165 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 165) | |
%61 = alloca i8, i32 16, align 16 | |
%62 = bitcast i8* %61 to i64* | |
%63 = getelementptr i64, i64* %62, i32 0 | |
store i64 %t78, i64* %63 | |
%64 = bitcast i8* %61 to i64* | |
%65 = getelementptr i64, i64* %64, i32 1 | |
store i64 %t119, i64* %65 | |
%66 = bitcast i64* %GSHAREDVT_IN_WRAPPER_165 to void (i64*, i64*)* | |
%67 = bitcast i8* %61 to i64* | |
notail call void %66(i64* %arg_0, i64* %67) | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%68 = inttoptr i64 %t78 to void (i64*, i64*)* | |
%69 = inttoptr i64 %t76 to i64* | |
notail call void %68(i64* %arg_0, i64* %69) | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t118 = xor i64 %t57, 1 | |
%GSHAREDVT_IN_WRAPPER_166 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 166) | |
%70 = alloca i8, i32 16, align 16 | |
%71 = bitcast i8* %70 to i64* | |
%72 = getelementptr i64, i64* %71, i32 0 | |
store i64 %t59, i64* %72 | |
%73 = bitcast i8* %70 to i64* | |
%74 = getelementptr i64, i64* %73, i32 1 | |
store i64 %t118, i64* %74 | |
%75 = bitcast i64* %GSHAREDVT_IN_WRAPPER_166 to void (i64*, i64*, i64*)* | |
%76 = inttoptr i64 %t22 to i64* | |
%77 = bitcast i8* %70 to i64* | |
notail call void %75(i64* %76, i64* %arg_0, i64* %77) | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%78 = inttoptr i64 %t59 to void (i64*, i64*, i64*)* | |
%79 = inttoptr i64 %t22 to i64* | |
%80 = inttoptr i64 %t57 to i64* | |
notail call void %78(i64* %79, i64* %arg_0, i64* %80) | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%81 = ptrtoint i64* %11 to i64 | |
%t36 = add i64 %81, 136 | |
%82 = inttoptr i64 %t36 to i32* | |
%83 = getelementptr i32, i32* %82, i32 0 | |
store i32 1, i32* %83 | |
%84 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %84 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 86) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @wrapper_delegate_invoke_System_Func_1_System_Threading_Tasks_Task_invoke_TResult(i64* %this) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 87) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t25 = load i32, i32* %6 | |
%7 = icmp eq i32 %t25, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t20 = load i64, i64* %8 | |
%9 = icmp ne i64 %t20, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t20, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t22 = load i64, i64* %15 | |
%16 = icmp eq i64 %t22, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t20 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t19 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t129, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t20, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t131 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t20, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t20 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t132 = load volatile i32, i32* %30 | |
%31 = sext i32 %t132 to i64 | |
%32 = icmp ule i64 %31, %t131 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t20, %35 | |
%t94 = add i64 %36, 32 | |
%37 = inttoptr i64 %t94 to i64* | |
%t21 = load i64, i64* %37 | |
%38 = icmp eq i64 %t21, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t21 to i64* | |
%t100 = load i64, i64* %40 | |
%41 = inttoptr i64 %t100 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t97 = load i64, i64* %42 | |
%43 = icmp ne i64 %t97, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t97, %NOEX_BB25 ], [ %55, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t98 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t105 = load i64, i64* %48 | |
%49 = inttoptr i64 %t98 to i64* (i64*, i64*)* | |
%50 = inttoptr i64 %t21 to i64* | |
%51 = inttoptr i64 %t105 to i64* | |
%52 = notail call i64* %49(i64* %50, i64* %51) | |
%t129 = add i32 %20, 1 | |
%53 = icmp slt i32 %t129, %t19 | |
br i1 %53, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %54 to i64 (i64, i64)* | |
%55 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t100, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
%56 = phi i64* [ %94, %BB15 ], [ %77, %BB20 ], [ %52, %BB13 ] | |
ret i64* %56 | |
BB10: ; preds = %BB9 | |
%57 = getelementptr i64, i64* %this, i32 7 | |
%t75 = load i64, i64* %57 | |
%58 = getelementptr i64, i64* %this, i32 2 | |
%t77 = load i64, i64* %58 | |
%t78 = and i64 %t75, 1 | |
%59 = icmp ne i64 %t78, 0 | |
br i1 %59, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%60 = getelementptr i64, i64* %this, i32 7 | |
%t57 = load i64, i64* %60 | |
%61 = getelementptr i64, i64* %this, i32 2 | |
%t59 = load i64, i64* %61 | |
%t60 = and i64 %t57, 1 | |
%62 = icmp ne i64 %t60, 0 | |
br i1 %62, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t124 = xor i64 %t75, 1 | |
%GSHAREDVT_IN_WRAPPER_167 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 167) | |
%63 = alloca i8, i32 16, align 16 | |
%64 = bitcast i8* %63 to i64* | |
%65 = getelementptr i64, i64* %64, i32 0 | |
store i64 %t77, i64* %65 | |
%66 = bitcast i8* %63 to i64* | |
%67 = getelementptr i64, i64* %66, i32 1 | |
store i64 %t124, i64* %67 | |
%68 = bitcast i64* %GSHAREDVT_IN_WRAPPER_167 to i64* (i64*)* | |
%69 = bitcast i8* %63 to i64* | |
%70 = notail call i64* %68(i64* %69) | |
%71 = ptrtoint i64* %70 to i64 | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%72 = inttoptr i64 %t77 to i64* (i64*)* | |
%73 = inttoptr i64 %t75 to i64* | |
%74 = notail call i64* %72(i64* %73) | |
%75 = ptrtoint i64* %74 to i64 | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
%76 = phi i64 [ %75, %BB21 ], [ %71, %BB19 ] | |
%77 = inttoptr i64 %76 to i64* | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t120 = xor i64 %t57, 1 | |
%GSHAREDVT_IN_WRAPPER_168 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 168) | |
%78 = alloca i8, i32 16, align 16 | |
%79 = bitcast i8* %78 to i64* | |
%80 = getelementptr i64, i64* %79, i32 0 | |
store i64 %t59, i64* %80 | |
%81 = bitcast i8* %78 to i64* | |
%82 = getelementptr i64, i64* %81, i32 1 | |
store i64 %t120, i64* %82 | |
%83 = bitcast i64* %GSHAREDVT_IN_WRAPPER_168 to i64* (i64*, i64*)* | |
%84 = inttoptr i64 %t22 to i64* | |
%85 = bitcast i8* %78 to i64* | |
%86 = notail call i64* %83(i64* %84, i64* %85) | |
%87 = ptrtoint i64* %86 to i64 | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%88 = inttoptr i64 %t59 to i64* (i64*, i64*)* | |
%89 = inttoptr i64 %t22 to i64* | |
%90 = inttoptr i64 %t57 to i64* | |
%91 = notail call i64* %88(i64* %89, i64* %90) | |
%92 = ptrtoint i64* %91 to i64 | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
%93 = phi i64 [ %92, %BB16 ], [ %87, %BB14 ] | |
%94 = inttoptr i64 %93 to i64* | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%95 = ptrtoint i64* %11 to i64 | |
%t37 = add i64 %95, 136 | |
%96 = inttoptr i64 %t37 to i32* | |
%97 = getelementptr i32, i32* %96, i32 0 | |
store i32 1, i32* %97 | |
%98 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %98 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 87) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @wrapper_delegate_invoke_System_Func_2_object_System_Threading_Tasks_Task_invoke_TResult_T_object(i64* %this, i64* %arg_0) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 88) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t26 = load i32, i32* %6 | |
%7 = icmp eq i32 %t26, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t21 = load i64, i64* %8 | |
%9 = icmp ne i64 %t21, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t21, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t23 = load i64, i64* %15 | |
%16 = icmp eq i64 %t23, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t21 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t20 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t138, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t21, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t140 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t21, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t21 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t141 = load volatile i32, i32* %30 | |
%31 = sext i32 %t141 to i64 | |
%32 = icmp ule i64 %31, %t140 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t21, %35 | |
%t101 = add i64 %36, 32 | |
%37 = inttoptr i64 %t101 to i64* | |
%t22 = load i64, i64* %37 | |
%38 = icmp eq i64 %t22, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t22 to i64* | |
%t108 = load i64, i64* %40 | |
%41 = inttoptr i64 %t108 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t105 = load i64, i64* %42 | |
%43 = icmp ne i64 %t105, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t105, %NOEX_BB25 ], [ %55, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t106 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t113 = load i64, i64* %48 | |
%49 = inttoptr i64 %t106 to i64* (i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t22 to i64* | |
%51 = inttoptr i64 %t113 to i64* | |
%52 = notail call i64* %49(i64* %50, i64* %arg_0, i64* %51) | |
%t138 = add i32 %20, 1 | |
%53 = icmp slt i32 %t138, %t20 | |
br i1 %53, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %54 to i64 (i64, i64)* | |
%55 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t108, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
%56 = phi i64* [ %94, %BB15 ], [ %77, %BB20 ], [ %52, %BB13 ] | |
ret i64* %56 | |
BB10: ; preds = %BB9 | |
%57 = getelementptr i64, i64* %this, i32 7 | |
%t80 = load i64, i64* %57 | |
%58 = getelementptr i64, i64* %this, i32 2 | |
%t82 = load i64, i64* %58 | |
%t83 = and i64 %t80, 1 | |
%59 = icmp ne i64 %t83, 0 | |
br i1 %59, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%60 = getelementptr i64, i64* %this, i32 7 | |
%t59 = load i64, i64* %60 | |
%61 = getelementptr i64, i64* %this, i32 2 | |
%t61 = load i64, i64* %61 | |
%t62 = and i64 %t59, 1 | |
%62 = icmp ne i64 %t62, 0 | |
br i1 %62, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t133 = xor i64 %t80, 1 | |
%GSHAREDVT_IN_WRAPPER_169 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 169) | |
%63 = alloca i8, i32 16, align 16 | |
%64 = bitcast i8* %63 to i64* | |
%65 = getelementptr i64, i64* %64, i32 0 | |
store i64 %t82, i64* %65 | |
%66 = bitcast i8* %63 to i64* | |
%67 = getelementptr i64, i64* %66, i32 1 | |
store i64 %t133, i64* %67 | |
%68 = bitcast i64* %GSHAREDVT_IN_WRAPPER_169 to i64* (i64*, i64*)* | |
%69 = bitcast i8* %63 to i64* | |
%70 = notail call i64* %68(i64* %arg_0, i64* %69) | |
%71 = ptrtoint i64* %70 to i64 | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%72 = inttoptr i64 %t82 to i64* (i64*, i64*)* | |
%73 = inttoptr i64 %t80 to i64* | |
%74 = notail call i64* %72(i64* %arg_0, i64* %73) | |
%75 = ptrtoint i64* %74 to i64 | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
%76 = phi i64 [ %75, %BB21 ], [ %71, %BB19 ] | |
%77 = inttoptr i64 %76 to i64* | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t129 = xor i64 %t59, 1 | |
%GSHAREDVT_IN_WRAPPER_170 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 170) | |
%78 = alloca i8, i32 16, align 16 | |
%79 = bitcast i8* %78 to i64* | |
%80 = getelementptr i64, i64* %79, i32 0 | |
store i64 %t61, i64* %80 | |
%81 = bitcast i8* %78 to i64* | |
%82 = getelementptr i64, i64* %81, i32 1 | |
store i64 %t129, i64* %82 | |
%83 = bitcast i64* %GSHAREDVT_IN_WRAPPER_170 to i64* (i64*, i64*, i64*)* | |
%84 = inttoptr i64 %t23 to i64* | |
%85 = bitcast i8* %78 to i64* | |
%86 = notail call i64* %83(i64* %84, i64* %arg_0, i64* %85) | |
%87 = ptrtoint i64* %86 to i64 | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%88 = inttoptr i64 %t61 to i64* (i64*, i64*, i64*)* | |
%89 = inttoptr i64 %t23 to i64* | |
%90 = inttoptr i64 %t59 to i64* | |
%91 = notail call i64* %88(i64* %89, i64* %arg_0, i64* %90) | |
%92 = ptrtoint i64* %91 to i64 | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
%93 = phi i64 [ %92, %BB16 ], [ %87, %BB14 ] | |
%94 = inttoptr i64 %93 to i64* | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%95 = ptrtoint i64* %11 to i64 | |
%t38 = add i64 %95, 136 | |
%96 = inttoptr i64 %t38 to i32* | |
%97 = getelementptr i32, i32* %96, i32 0 | |
store i32 1, i32* %97 | |
%98 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %98 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 88) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @wrapper_delegate_invoke_System_Action_1_System_Threading_Tasks_Task_1_System_Threading_Tasks_Task_invoke_void_T_System_Threading_Tasks_Task_1_System_Threading_Tasks_Task(i64* %this, i64* %arg_0) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 89) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t24 = load i32, i32* %6 | |
%7 = icmp eq i32 %t24, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t20 = load i64, i64* %8 | |
%9 = icmp ne i64 %t20, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t20, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t22 = load i64, i64* %15 | |
%16 = icmp eq i64 %t22, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t20 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t19 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t123, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t20, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t124 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t20, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t20 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t125 = load volatile i32, i32* %30 | |
%31 = sext i32 %t125 to i64 | |
%32 = icmp ule i64 %31, %t124 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t20, %35 | |
%t95 = add i64 %36, 32 | |
%37 = inttoptr i64 %t95 to i64* | |
%t21 = load i64, i64* %37 | |
%38 = icmp eq i64 %t21, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t21 to i64* | |
%t102 = load i64, i64* %40 | |
%41 = inttoptr i64 %t102 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t99 = load i64, i64* %42 | |
%43 = icmp ne i64 %t99, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t99, %NOEX_BB25 ], [ %54, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t100 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t107 = load i64, i64* %48 | |
%49 = inttoptr i64 %t100 to void (i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t21 to i64* | |
%51 = inttoptr i64 %t107 to i64* | |
notail call void %49(i64* %50, i64* %arg_0, i64* %51) | |
%t123 = add i32 %20, 1 | |
%52 = icmp slt i32 %t123, %t19 | |
br i1 %52, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%53 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %53 to i64 (i64, i64)* | |
%54 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t102, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
ret void | |
BB10: ; preds = %BB9 | |
%55 = getelementptr i64, i64* %this, i32 7 | |
%t76 = load i64, i64* %55 | |
%56 = getelementptr i64, i64* %this, i32 2 | |
%t78 = load i64, i64* %56 | |
%t79 = and i64 %t76, 1 | |
%57 = icmp ne i64 %t79, 0 | |
br i1 %57, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%58 = getelementptr i64, i64* %this, i32 7 | |
%t57 = load i64, i64* %58 | |
%59 = getelementptr i64, i64* %this, i32 2 | |
%t59 = load i64, i64* %59 | |
%t60 = and i64 %t57, 1 | |
%60 = icmp ne i64 %t60, 0 | |
br i1 %60, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t119 = xor i64 %t76, 1 | |
%GSHAREDVT_IN_WRAPPER_171 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 171) | |
%61 = alloca i8, i32 16, align 16 | |
%62 = bitcast i8* %61 to i64* | |
%63 = getelementptr i64, i64* %62, i32 0 | |
store i64 %t78, i64* %63 | |
%64 = bitcast i8* %61 to i64* | |
%65 = getelementptr i64, i64* %64, i32 1 | |
store i64 %t119, i64* %65 | |
%66 = bitcast i64* %GSHAREDVT_IN_WRAPPER_171 to void (i64*, i64*)* | |
%67 = bitcast i8* %61 to i64* | |
notail call void %66(i64* %arg_0, i64* %67) | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%68 = inttoptr i64 %t78 to void (i64*, i64*)* | |
%69 = inttoptr i64 %t76 to i64* | |
notail call void %68(i64* %arg_0, i64* %69) | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t118 = xor i64 %t57, 1 | |
%GSHAREDVT_IN_WRAPPER_172 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 172) | |
%70 = alloca i8, i32 16, align 16 | |
%71 = bitcast i8* %70 to i64* | |
%72 = getelementptr i64, i64* %71, i32 0 | |
store i64 %t59, i64* %72 | |
%73 = bitcast i8* %70 to i64* | |
%74 = getelementptr i64, i64* %73, i32 1 | |
store i64 %t118, i64* %74 | |
%75 = bitcast i64* %GSHAREDVT_IN_WRAPPER_172 to void (i64*, i64*, i64*)* | |
%76 = inttoptr i64 %t22 to i64* | |
%77 = bitcast i8* %70 to i64* | |
notail call void %75(i64* %76, i64* %arg_0, i64* %77) | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%78 = inttoptr i64 %t59 to void (i64*, i64*, i64*)* | |
%79 = inttoptr i64 %t22 to i64* | |
%80 = inttoptr i64 %t57 to i64* | |
notail call void %78(i64* %79, i64* %arg_0, i64* %80) | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%81 = ptrtoint i64* %11 to i64 | |
%t36 = add i64 %81, 136 | |
%82 = inttoptr i64 %t36 to i32* | |
%83 = getelementptr i32, i32* %82, i32 0 | |
store i32 1, i32* %83 | |
%84 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %84 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 89) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @wrapper_delegate_invoke_System_Action_2_System_Threading_Tasks_Task_1_System_Threading_Tasks_Task_object_invoke_void_T1_T2_System_Threading_Tasks_Task_1_System_Threading_Tasks_Task_object(i64* %this, i64* %arg_0, i64* %arg_1) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 90) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t25 = load i32, i32* %6 | |
%7 = icmp eq i32 %t25, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t21 = load i64, i64* %8 | |
%9 = icmp ne i64 %t21, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t21, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t23 = load i64, i64* %15 | |
%16 = icmp eq i64 %t23, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t21 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t20 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t132, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t21, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t133 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t21, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t21 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t134 = load volatile i32, i32* %30 | |
%31 = sext i32 %t134 to i64 | |
%32 = icmp ule i64 %31, %t133 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t21, %35 | |
%t102 = add i64 %36, 32 | |
%37 = inttoptr i64 %t102 to i64* | |
%t22 = load i64, i64* %37 | |
%38 = icmp eq i64 %t22, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t22 to i64* | |
%t110 = load i64, i64* %40 | |
%41 = inttoptr i64 %t110 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t107 = load i64, i64* %42 | |
%43 = icmp ne i64 %t107, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t107, %NOEX_BB25 ], [ %54, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t108 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t115 = load i64, i64* %48 | |
%49 = inttoptr i64 %t108 to void (i64*, i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t22 to i64* | |
%51 = inttoptr i64 %t115 to i64* | |
notail call void %49(i64* %50, i64* %arg_0, i64* %arg_1, i64* %51) | |
%t132 = add i32 %20, 1 | |
%52 = icmp slt i32 %t132, %t20 | |
br i1 %52, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%53 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %53 to i64 (i64, i64)* | |
%54 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t110, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
ret void | |
BB10: ; preds = %BB9 | |
%55 = getelementptr i64, i64* %this, i32 7 | |
%t81 = load i64, i64* %55 | |
%56 = getelementptr i64, i64* %this, i32 2 | |
%t83 = load i64, i64* %56 | |
%t84 = and i64 %t81, 1 | |
%57 = icmp ne i64 %t84, 0 | |
br i1 %57, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%58 = getelementptr i64, i64* %this, i32 7 | |
%t59 = load i64, i64* %58 | |
%59 = getelementptr i64, i64* %this, i32 2 | |
%t61 = load i64, i64* %59 | |
%t62 = and i64 %t59, 1 | |
%60 = icmp ne i64 %t62, 0 | |
br i1 %60, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t128 = xor i64 %t81, 1 | |
%GSHAREDVT_IN_WRAPPER_173 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 173) | |
%61 = alloca i8, i32 16, align 16 | |
%62 = bitcast i8* %61 to i64* | |
%63 = getelementptr i64, i64* %62, i32 0 | |
store i64 %t83, i64* %63 | |
%64 = bitcast i8* %61 to i64* | |
%65 = getelementptr i64, i64* %64, i32 1 | |
store i64 %t128, i64* %65 | |
%66 = bitcast i64* %GSHAREDVT_IN_WRAPPER_173 to void (i64*, i64*, i64*)* | |
%67 = bitcast i8* %61 to i64* | |
notail call void %66(i64* %arg_0, i64* %arg_1, i64* %67) | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%68 = inttoptr i64 %t83 to void (i64*, i64*, i64*)* | |
%69 = inttoptr i64 %t81 to i64* | |
notail call void %68(i64* %arg_0, i64* %arg_1, i64* %69) | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t127 = xor i64 %t59, 1 | |
%GSHAREDVT_IN_WRAPPER_174 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 174) | |
%70 = alloca i8, i32 16, align 16 | |
%71 = bitcast i8* %70 to i64* | |
%72 = getelementptr i64, i64* %71, i32 0 | |
store i64 %t61, i64* %72 | |
%73 = bitcast i8* %70 to i64* | |
%74 = getelementptr i64, i64* %73, i32 1 | |
store i64 %t127, i64* %74 | |
%75 = bitcast i64* %GSHAREDVT_IN_WRAPPER_174 to void (i64*, i64*, i64*, i64*)* | |
%76 = inttoptr i64 %t23 to i64* | |
%77 = bitcast i8* %70 to i64* | |
notail call void %75(i64* %76, i64* %arg_0, i64* %arg_1, i64* %77) | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%78 = inttoptr i64 %t61 to void (i64*, i64*, i64*, i64*)* | |
%79 = inttoptr i64 %t23 to i64* | |
%80 = inttoptr i64 %t59 to i64* | |
notail call void %78(i64* %79, i64* %arg_0, i64* %arg_1, i64* %80) | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%81 = ptrtoint i64* %11 to i64 | |
%t37 = add i64 %81, 136 | |
%82 = inttoptr i64 %t37 to i32* | |
%83 = getelementptr i32, i32* %82, i32 0 | |
store i32 1, i32* %83 | |
%84 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %84 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 90) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @wrapper_delegate_invoke_System_Func_2_System_IAsyncResult_System_Threading_Tasks_Task_invoke_TResult_T_System_IAsyncResult(i64* %this, i64* %arg_0) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 91) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t26 = load i32, i32* %6 | |
%7 = icmp eq i32 %t26, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t21 = load i64, i64* %8 | |
%9 = icmp ne i64 %t21, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t21, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t23 = load i64, i64* %15 | |
%16 = icmp eq i64 %t23, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t21 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t20 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t138, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t21, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t140 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t21, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t21 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t141 = load volatile i32, i32* %30 | |
%31 = sext i32 %t141 to i64 | |
%32 = icmp ule i64 %31, %t140 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t21, %35 | |
%t101 = add i64 %36, 32 | |
%37 = inttoptr i64 %t101 to i64* | |
%t22 = load i64, i64* %37 | |
%38 = icmp eq i64 %t22, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t22 to i64* | |
%t108 = load i64, i64* %40 | |
%41 = inttoptr i64 %t108 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t105 = load i64, i64* %42 | |
%43 = icmp ne i64 %t105, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t105, %NOEX_BB25 ], [ %55, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t106 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t113 = load i64, i64* %48 | |
%49 = inttoptr i64 %t106 to i64* (i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t22 to i64* | |
%51 = inttoptr i64 %t113 to i64* | |
%52 = notail call i64* %49(i64* %50, i64* %arg_0, i64* %51) | |
%t138 = add i32 %20, 1 | |
%53 = icmp slt i32 %t138, %t20 | |
br i1 %53, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %54 to i64 (i64, i64)* | |
%55 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t108, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
%56 = phi i64* [ %94, %BB15 ], [ %77, %BB20 ], [ %52, %BB13 ] | |
ret i64* %56 | |
BB10: ; preds = %BB9 | |
%57 = getelementptr i64, i64* %this, i32 7 | |
%t80 = load i64, i64* %57 | |
%58 = getelementptr i64, i64* %this, i32 2 | |
%t82 = load i64, i64* %58 | |
%t83 = and i64 %t80, 1 | |
%59 = icmp ne i64 %t83, 0 | |
br i1 %59, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%60 = getelementptr i64, i64* %this, i32 7 | |
%t59 = load i64, i64* %60 | |
%61 = getelementptr i64, i64* %this, i32 2 | |
%t61 = load i64, i64* %61 | |
%t62 = and i64 %t59, 1 | |
%62 = icmp ne i64 %t62, 0 | |
br i1 %62, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t133 = xor i64 %t80, 1 | |
%GSHAREDVT_IN_WRAPPER_175 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 175) | |
%63 = alloca i8, i32 16, align 16 | |
%64 = bitcast i8* %63 to i64* | |
%65 = getelementptr i64, i64* %64, i32 0 | |
store i64 %t82, i64* %65 | |
%66 = bitcast i8* %63 to i64* | |
%67 = getelementptr i64, i64* %66, i32 1 | |
store i64 %t133, i64* %67 | |
%68 = bitcast i64* %GSHAREDVT_IN_WRAPPER_175 to i64* (i64*, i64*)* | |
%69 = bitcast i8* %63 to i64* | |
%70 = notail call i64* %68(i64* %arg_0, i64* %69) | |
%71 = ptrtoint i64* %70 to i64 | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%72 = inttoptr i64 %t82 to i64* (i64*, i64*)* | |
%73 = inttoptr i64 %t80 to i64* | |
%74 = notail call i64* %72(i64* %arg_0, i64* %73) | |
%75 = ptrtoint i64* %74 to i64 | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
%76 = phi i64 [ %75, %BB21 ], [ %71, %BB19 ] | |
%77 = inttoptr i64 %76 to i64* | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t129 = xor i64 %t59, 1 | |
%GSHAREDVT_IN_WRAPPER_176 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 176) | |
%78 = alloca i8, i32 16, align 16 | |
%79 = bitcast i8* %78 to i64* | |
%80 = getelementptr i64, i64* %79, i32 0 | |
store i64 %t61, i64* %80 | |
%81 = bitcast i8* %78 to i64* | |
%82 = getelementptr i64, i64* %81, i32 1 | |
store i64 %t129, i64* %82 | |
%83 = bitcast i64* %GSHAREDVT_IN_WRAPPER_176 to i64* (i64*, i64*, i64*)* | |
%84 = inttoptr i64 %t23 to i64* | |
%85 = bitcast i8* %78 to i64* | |
%86 = notail call i64* %83(i64* %84, i64* %arg_0, i64* %85) | |
%87 = ptrtoint i64* %86 to i64 | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%88 = inttoptr i64 %t61 to i64* (i64*, i64*, i64*)* | |
%89 = inttoptr i64 %t23 to i64* | |
%90 = inttoptr i64 %t59 to i64* | |
%91 = notail call i64* %88(i64* %89, i64* %arg_0, i64* %90) | |
%92 = ptrtoint i64* %91 to i64 | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
%93 = phi i64 [ %92, %BB16 ], [ %87, %BB14 ] | |
%94 = inttoptr i64 %93 to i64* | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%95 = ptrtoint i64* %11 to i64 | |
%t38 = add i64 %95, 136 | |
%96 = inttoptr i64 %t38 to i32* | |
%97 = getelementptr i32, i32* %96, i32 0 | |
store i32 1, i32* %97 | |
%98 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %98 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 91) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @wrapper_delegate_invoke_System_Func_2_System_Threading_Tasks_Task___System_Threading_Tasks_Task_invoke_TResult_T_System_Threading_Tasks_Task__(i64* %this, i64* %arg_0) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 92) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t26 = load i32, i32* %6 | |
%7 = icmp eq i32 %t26, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t21 = load i64, i64* %8 | |
%9 = icmp ne i64 %t21, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t21, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t23 = load i64, i64* %15 | |
%16 = icmp eq i64 %t23, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t21 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t20 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t138, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t21, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t140 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t21, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t21 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t141 = load volatile i32, i32* %30 | |
%31 = sext i32 %t141 to i64 | |
%32 = icmp ule i64 %31, %t140 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t21, %35 | |
%t101 = add i64 %36, 32 | |
%37 = inttoptr i64 %t101 to i64* | |
%t22 = load i64, i64* %37 | |
%38 = icmp eq i64 %t22, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t22 to i64* | |
%t108 = load i64, i64* %40 | |
%41 = inttoptr i64 %t108 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t105 = load i64, i64* %42 | |
%43 = icmp ne i64 %t105, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t105, %NOEX_BB25 ], [ %55, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t106 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t113 = load i64, i64* %48 | |
%49 = inttoptr i64 %t106 to i64* (i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t22 to i64* | |
%51 = inttoptr i64 %t113 to i64* | |
%52 = notail call i64* %49(i64* %50, i64* %arg_0, i64* %51) | |
%t138 = add i32 %20, 1 | |
%53 = icmp slt i32 %t138, %t20 | |
br i1 %53, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %54 to i64 (i64, i64)* | |
%55 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t108, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
%56 = phi i64* [ %94, %BB15 ], [ %77, %BB20 ], [ %52, %BB13 ] | |
ret i64* %56 | |
BB10: ; preds = %BB9 | |
%57 = getelementptr i64, i64* %this, i32 7 | |
%t80 = load i64, i64* %57 | |
%58 = getelementptr i64, i64* %this, i32 2 | |
%t82 = load i64, i64* %58 | |
%t83 = and i64 %t80, 1 | |
%59 = icmp ne i64 %t83, 0 | |
br i1 %59, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%60 = getelementptr i64, i64* %this, i32 7 | |
%t59 = load i64, i64* %60 | |
%61 = getelementptr i64, i64* %this, i32 2 | |
%t61 = load i64, i64* %61 | |
%t62 = and i64 %t59, 1 | |
%62 = icmp ne i64 %t62, 0 | |
br i1 %62, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t133 = xor i64 %t80, 1 | |
%GSHAREDVT_IN_WRAPPER_177 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 177) | |
%63 = alloca i8, i32 16, align 16 | |
%64 = bitcast i8* %63 to i64* | |
%65 = getelementptr i64, i64* %64, i32 0 | |
store i64 %t82, i64* %65 | |
%66 = bitcast i8* %63 to i64* | |
%67 = getelementptr i64, i64* %66, i32 1 | |
store i64 %t133, i64* %67 | |
%68 = bitcast i64* %GSHAREDVT_IN_WRAPPER_177 to i64* (i64*, i64*)* | |
%69 = bitcast i8* %63 to i64* | |
%70 = notail call i64* %68(i64* %arg_0, i64* %69) | |
%71 = ptrtoint i64* %70 to i64 | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%72 = inttoptr i64 %t82 to i64* (i64*, i64*)* | |
%73 = inttoptr i64 %t80 to i64* | |
%74 = notail call i64* %72(i64* %arg_0, i64* %73) | |
%75 = ptrtoint i64* %74 to i64 | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
%76 = phi i64 [ %75, %BB21 ], [ %71, %BB19 ] | |
%77 = inttoptr i64 %76 to i64* | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t129 = xor i64 %t59, 1 | |
%GSHAREDVT_IN_WRAPPER_178 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 178) | |
%78 = alloca i8, i32 16, align 16 | |
%79 = bitcast i8* %78 to i64* | |
%80 = getelementptr i64, i64* %79, i32 0 | |
store i64 %t61, i64* %80 | |
%81 = bitcast i8* %78 to i64* | |
%82 = getelementptr i64, i64* %81, i32 1 | |
store i64 %t129, i64* %82 | |
%83 = bitcast i64* %GSHAREDVT_IN_WRAPPER_178 to i64* (i64*, i64*, i64*)* | |
%84 = inttoptr i64 %t23 to i64* | |
%85 = bitcast i8* %78 to i64* | |
%86 = notail call i64* %83(i64* %84, i64* %arg_0, i64* %85) | |
%87 = ptrtoint i64* %86 to i64 | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%88 = inttoptr i64 %t61 to i64* (i64*, i64*, i64*)* | |
%89 = inttoptr i64 %t23 to i64* | |
%90 = inttoptr i64 %t59 to i64* | |
%91 = notail call i64* %88(i64* %89, i64* %arg_0, i64* %90) | |
%92 = ptrtoint i64* %91 to i64 | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
%93 = phi i64 [ %92, %BB16 ], [ %87, %BB14 ] | |
%94 = inttoptr i64 %93 to i64* | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%95 = ptrtoint i64* %11 to i64 | |
%t38 = add i64 %95, 136 | |
%96 = inttoptr i64 %t38 to i32* | |
%97 = getelementptr i32, i32* %96, i32 0 | |
store i32 1, i32* %97 | |
%98 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %98 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 92) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @wrapper_delegate_invoke_System_Func_2_System_Threading_Tasks_Task_System_Threading_Tasks_Task_invoke_TResult_T_System_Threading_Tasks_Task(i64* %this, i64* %arg_0) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 93) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t26 = load i32, i32* %6 | |
%7 = icmp eq i32 %t26, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t21 = load i64, i64* %8 | |
%9 = icmp ne i64 %t21, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t21, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t23 = load i64, i64* %15 | |
%16 = icmp eq i64 %t23, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t21 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t20 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t138, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t21, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t140 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t21, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t21 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t141 = load volatile i32, i32* %30 | |
%31 = sext i32 %t141 to i64 | |
%32 = icmp ule i64 %31, %t140 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t21, %35 | |
%t101 = add i64 %36, 32 | |
%37 = inttoptr i64 %t101 to i64* | |
%t22 = load i64, i64* %37 | |
%38 = icmp eq i64 %t22, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t22 to i64* | |
%t108 = load i64, i64* %40 | |
%41 = inttoptr i64 %t108 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t105 = load i64, i64* %42 | |
%43 = icmp ne i64 %t105, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t105, %NOEX_BB25 ], [ %55, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t106 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t113 = load i64, i64* %48 | |
%49 = inttoptr i64 %t106 to i64* (i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t22 to i64* | |
%51 = inttoptr i64 %t113 to i64* | |
%52 = notail call i64* %49(i64* %50, i64* %arg_0, i64* %51) | |
%t138 = add i32 %20, 1 | |
%53 = icmp slt i32 %t138, %t20 | |
br i1 %53, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %54 to i64 (i64, i64)* | |
%55 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t108, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
%56 = phi i64* [ %94, %BB15 ], [ %77, %BB20 ], [ %52, %BB13 ] | |
ret i64* %56 | |
BB10: ; preds = %BB9 | |
%57 = getelementptr i64, i64* %this, i32 7 | |
%t80 = load i64, i64* %57 | |
%58 = getelementptr i64, i64* %this, i32 2 | |
%t82 = load i64, i64* %58 | |
%t83 = and i64 %t80, 1 | |
%59 = icmp ne i64 %t83, 0 | |
br i1 %59, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%60 = getelementptr i64, i64* %this, i32 7 | |
%t59 = load i64, i64* %60 | |
%61 = getelementptr i64, i64* %this, i32 2 | |
%t61 = load i64, i64* %61 | |
%t62 = and i64 %t59, 1 | |
%62 = icmp ne i64 %t62, 0 | |
br i1 %62, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t133 = xor i64 %t80, 1 | |
%GSHAREDVT_IN_WRAPPER_179 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 179) | |
%63 = alloca i8, i32 16, align 16 | |
%64 = bitcast i8* %63 to i64* | |
%65 = getelementptr i64, i64* %64, i32 0 | |
store i64 %t82, i64* %65 | |
%66 = bitcast i8* %63 to i64* | |
%67 = getelementptr i64, i64* %66, i32 1 | |
store i64 %t133, i64* %67 | |
%68 = bitcast i64* %GSHAREDVT_IN_WRAPPER_179 to i64* (i64*, i64*)* | |
%69 = bitcast i8* %63 to i64* | |
%70 = notail call i64* %68(i64* %arg_0, i64* %69) | |
%71 = ptrtoint i64* %70 to i64 | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%72 = inttoptr i64 %t82 to i64* (i64*, i64*)* | |
%73 = inttoptr i64 %t80 to i64* | |
%74 = notail call i64* %72(i64* %arg_0, i64* %73) | |
%75 = ptrtoint i64* %74 to i64 | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
%76 = phi i64 [ %75, %BB21 ], [ %71, %BB19 ] | |
%77 = inttoptr i64 %76 to i64* | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t129 = xor i64 %t59, 1 | |
%GSHAREDVT_IN_WRAPPER_180 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 180) | |
%78 = alloca i8, i32 16, align 16 | |
%79 = bitcast i8* %78 to i64* | |
%80 = getelementptr i64, i64* %79, i32 0 | |
store i64 %t61, i64* %80 | |
%81 = bitcast i8* %78 to i64* | |
%82 = getelementptr i64, i64* %81, i32 1 | |
store i64 %t129, i64* %82 | |
%83 = bitcast i64* %GSHAREDVT_IN_WRAPPER_180 to i64* (i64*, i64*, i64*)* | |
%84 = inttoptr i64 %t23 to i64* | |
%85 = bitcast i8* %78 to i64* | |
%86 = notail call i64* %83(i64* %84, i64* %arg_0, i64* %85) | |
%87 = ptrtoint i64* %86 to i64 | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%88 = inttoptr i64 %t61 to i64* (i64*, i64*, i64*)* | |
%89 = inttoptr i64 %t23 to i64* | |
%90 = inttoptr i64 %t59 to i64* | |
%91 = notail call i64* %88(i64* %89, i64* %arg_0, i64* %90) | |
%92 = ptrtoint i64* %91 to i64 | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
%93 = phi i64 [ %92, %BB16 ], [ %87, %BB14 ] | |
%94 = inttoptr i64 %93 to i64* | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%95 = ptrtoint i64* %11 to i64 | |
%t38 = add i64 %95, 136 | |
%96 = inttoptr i64 %t38 to i32* | |
%97 = getelementptr i32, i32* %96, i32 0 | |
store i32 1, i32* %97 | |
%98 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %98 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 93) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_FromResult_TResult_INST_TResult_INST(i64 %arg_result, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca %"OneThing`1<T1_INT>", align 1 | |
%1 = alloca i64, align 8, !mono.this !0 | |
%2 = alloca %"OneThing`1<T1_INT>", align 4 | |
%3 = bitcast %"OneThing`1<T1_INT>"* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
store i64 %arg_result, i64* %4 | |
%5 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %5, i64* %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 98) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%12 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 181) | |
%13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 18) | |
%jit_icall_mono_fill_method_rgctx = bitcast i64* %13 to i64 (i64, i64)* | |
%14 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%15 = notail call i64 %jit_icall_mono_fill_method_rgctx(i64 %12, i64 %14) | |
%16 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %16 to i64* (i64, i64)* | |
%17 = notail call i64* %METHOD_27(i64 %15, i64 80) | |
%18 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 182) | |
%19 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 18) | |
%jit_icall_mono_fill_method_rgctx1 = bitcast i64* %19 to i64 (i64, i64)* | |
%20 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%21 = notail call i64 %jit_icall_mono_fill_method_rgctx1(i64 %18, i64 %20) | |
%22 = inttoptr i64 %21 to i64* | |
%t34 = load i64, i64* %22 | |
%23 = inttoptr i64 %21 to i64* | |
%24 = getelementptr i64, i64* %23, i32 1 | |
%t36 = load i64, i64* %24 | |
%25 = inttoptr i64 %t34 to void (i64*, i64, i64*)* | |
%26 = bitcast %"OneThing`1<T1_INT>"* %0 to i64* | |
%27 = getelementptr i64, i64* %26, i32 0 | |
%28 = load i64, i64* %27 | |
%29 = inttoptr i64 %t36 to i64* | |
notail call void %25(i64* %17, i64 %28, i64* %29) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %17 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
%30 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_mrgctx(i32 98, i64 %30) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_i4_(i64 %arg_vret, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%0 = inttoptr i64 %arg_ftndesc to i64* | |
%1 = getelementptr i64, i64* %0, i32 1 | |
%t23 = load i64, i64* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%t25 = load i64, i64* %2 | |
%3 = inttoptr i64 %t25 to i32 (i64)* | |
%4 = notail call i32 %3(i64 %t23) | |
%5 = inttoptr i64 %arg_vret to i32* | |
%6 = getelementptr i32, i32* %5, i32 0 | |
store i32 %4, i32* %6 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal { i64 } @aot_wrapper_gsharedvt_in_sig_cl1e_Mono_2eValueTuple_601_3cint_3e__this_(i64* %this, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%1 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%2 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
%3 = bitcast %"Mono.ValueTuple`1<int>"* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %3, i8 0, i32 4, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%4 = inttoptr i64 %arg_ftndesc to i64* | |
%5 = getelementptr i64, i64* %4, i32 1 | |
%t26 = load i64, i64* %5 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%t28 = load i64, i64* %6 | |
%7 = inttoptr i64 %t28 to void (i64*, i64, i64)* | |
%8 = ptrtoint %"Mono.ValueTuple`1<int>"* %1 to i64 | |
notail call void %7(i64* %this, i64 %8, i64 %t26) | |
%9 = bitcast %"Mono.ValueTuple`1<int>"* %1 to i8* | |
%10 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %10, i8* %9, i32 4, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
%11 = bitcast %"Mono.ValueTuple`1<int>"* %0 to { i64 }* | |
%12 = getelementptr { i64 }, { i64 }* %11, i32 0, i32 0 | |
%13 = load i64, i64* %12 | |
%14 = insertvalue { i64 } undef, i64 %13, 0 | |
ret { i64 } %14 | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_cl1e_Mono_2eValueTuple_601_3cint_3e_(i64 %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%1 = alloca i64*, align 1 | |
%2 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%3 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
%5 = trunc i64 %arg_0 to i32 | |
%6 = bitcast i64* %4 to i32* | |
store i32 %5, i32* %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %1 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%8 = getelementptr i64, i64* %7, i32 1 | |
%t26 = load i64, i64* %8 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%t28 = load i64, i64* %9 | |
%10 = inttoptr i64 %t28 to void (i64, i64*, i64)* | |
%11 = ptrtoint i64** %1 to i64 | |
%12 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i64* | |
notail call void %10(i64 %11, i64* %12, i64 %t26) | |
%13 = load volatile i64*, i64** %1 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %13 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_(i64* %this, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%0 = inttoptr i64 %arg_ftndesc to i64* | |
%1 = getelementptr i64, i64* %0, i32 1 | |
%t23 = load i64, i64* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%t25 = load i64, i64* %2 | |
%3 = inttoptr i64 %t25 to void (i64*, i64)* | |
notail call void %3(i64* %this, i64 %t23) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_obji4(i64* %this, i64* %arg_0, i64* %arg_1, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t22 = load i64, i64* %arg_0 | |
%0 = bitcast i64* %arg_1 to i32* | |
%t24 = load i32, i32* %0 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t29 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t31 = load i64, i64* %3 | |
%4 = inttoptr i64 %t31 to void (i64*, i64*, i32, i64)* | |
%5 = inttoptr i64 %t22 to i64* | |
notail call void %4(i64* %this, i64* %5, i32 %t24, i64 %t29) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_cl1e_Mono_2eValueTuple_601_3cint_3e_(i64* %this, i64* %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = ptrtoint i64* %arg_0 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 4, i32 0, i1 false) | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%6 = getelementptr i64, i64* %5, i32 1 | |
%t26 = load i64, i64* %6 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%t28 = load i64, i64* %7 | |
%8 = inttoptr i64 %t28 to void (i64*, i64, i64)* | |
%9 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i64* | |
%10 = getelementptr i64, i64* %9, i32 0 | |
%11 = bitcast i64* %10 to i32* | |
%12 = load i32, i32* %11 | |
%13 = sext i32 %12 to i64 | |
notail call void %8(i64* %this, i64 %13, i64 %t26) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_u1cl1e_Mono_2eValueTuple_601_3cint_3e_i4cl21_Mono_2eValueTuple_601_3cobject_3e_(i64* %this, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%1 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%2 = bitcast i64* %arg_0 to i8* | |
%3 = load i8, i8* %2 | |
%4 = zext i8 %3 to i32 | |
%5 = ptrtoint i64* %arg_1 to i64 | |
%6 = add i64 %5, 0 | |
%7 = inttoptr i64 %6 to i8* | |
%8 = bitcast %"Mono.ValueTuple`1<int>"* %1 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %7, i32 4, i32 0, i1 false) | |
%9 = bitcast i64* %arg_2 to i32* | |
%t28 = load i32, i32* %9 | |
%10 = ptrtoint i64* %arg_3 to i64 | |
%11 = add i64 %10, 0 | |
%12 = inttoptr i64 %11 to i8* | |
%13 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %13, i8* %12, i32 8, i32 0, i1 false) | |
%14 = inttoptr i64 %arg_ftndesc to i64* | |
%15 = getelementptr i64, i64* %14, i32 1 | |
%t35 = load i64, i64* %15 | |
%16 = inttoptr i64 %arg_ftndesc to i64* | |
%t37 = load i64, i64* %16 | |
%17 = inttoptr i64 %t37 to void (i64*, i8, i64, i32, i64, i64)* | |
%18 = trunc i32 %4 to i8 | |
%19 = bitcast %"Mono.ValueTuple`1<int>"* %1 to i64* | |
%20 = getelementptr i64, i64* %19, i32 0 | |
%21 = bitcast i64* %20 to i32* | |
%22 = load i32, i32* %21 | |
%23 = sext i32 %22 to i64 | |
%24 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%25 = getelementptr i64, i64* %24, i32 0 | |
%26 = load i64, i64* %25 | |
notail call void %17(i64* %this, i8 %18, i64 %23, i32 %t28, i64 %26, i64 %t35) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_obj(i64* %this, i64* %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t21 = load i64, i64* %arg_0 | |
%0 = inttoptr i64 %arg_ftndesc to i64* | |
%1 = getelementptr i64, i64* %0, i32 1 | |
%t26 = load i64, i64* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%t28 = load i64, i64* %2 | |
%3 = inttoptr i64 %t28 to void (i64*, i64*, i64)* | |
%4 = inttoptr i64 %t21 to i64* | |
notail call void %3(i64* %this, i64* %4, i64 %t26) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_in_sig_void_this_objobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4i4obj(i64* %this, i64* %arg_0, i64* %arg_1, i64 %arg_2, i32 %arg_3, i32 %arg_4, i64* %arg_5, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i32, align 4 | |
%3 = alloca i32, align 4 | |
%4 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%5 = alloca i64*, align 1 | |
%6 = alloca i64*, align 1 | |
%7 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%8 = getelementptr i64, i64* %7, i32 0 | |
store i64 %arg_2, i64* %8 | |
store i64* %arg_0, i64** %6 | |
store i64* %arg_1, i64** %5 | |
store i32 %arg_3, i32* %3 | |
store i32 %arg_4, i32* %2 | |
store i64* %arg_5, i64** %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%10 = getelementptr i64, i64* %9, i32 1 | |
%t35 = load i64, i64* %10 | |
%11 = inttoptr i64 %arg_ftndesc to i64* | |
%t37 = load i64, i64* %11 | |
%12 = inttoptr i64 %t37 to void (i64*, i64*, i64*, i64*, i64*, i64*, i64*, i64)* | |
%13 = bitcast i64** %6 to i64* | |
%14 = bitcast i64** %5 to i64* | |
%15 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%16 = bitcast i32* %3 to i64* | |
%17 = bitcast i32* %2 to i64* | |
%18 = bitcast i64** %1 to i64* | |
notail call void %12(i64* %this, i64* %13, i64* %14, i64* %15, i64* %16, i64* %17, i64* %18, i64 %t35) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_objcl21_Mono_2eValueTuple_601_3cobject_3e_(i64* %this, i64* %arg_0, i64* %arg_1, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t22 = load i64, i64* %arg_0 | |
%1 = ptrtoint i64* %arg_1 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%6 = getelementptr i64, i64* %5, i32 1 | |
%t29 = load i64, i64* %6 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%t31 = load i64, i64* %7 | |
%8 = inttoptr i64 %t31 to void (i64*, i64*, i64, i64)* | |
%9 = inttoptr i64 %t22 to i64* | |
%10 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%11 = getelementptr i64, i64* %10, i32 0 | |
%12 = load i64, i64* %11 | |
notail call void %8(i64* %this, i64* %9, i64 %12, i64 %t29) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_objcl21_Mono_2eValueTuple_601_3cobject_3e_i4(i64* %this, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t23 = load i64, i64* %arg_0 | |
%1 = ptrtoint i64* %arg_1 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_2 to i32* | |
%t27 = load i32, i32* %5 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%7 = getelementptr i64, i64* %6, i32 1 | |
%t32 = load i64, i64* %7 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%t34 = load i64, i64* %8 | |
%9 = inttoptr i64 %t34 to void (i64*, i64*, i64, i32, i64)* | |
%10 = inttoptr i64 %t23 to i64* | |
%11 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%12 = getelementptr i64, i64* %11, i32 0 | |
%13 = load i64, i64* %12 | |
notail call void %9(i64* %this, i64* %10, i64 %13, i32 %t27, i64 %t32) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_objobj(i64* %this, i64* %arg_0, i64* %arg_1, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t22 = load i64, i64* %arg_0 | |
%t24 = load i64, i64* %arg_1 | |
%0 = inttoptr i64 %arg_ftndesc to i64* | |
%1 = getelementptr i64, i64* %0, i32 1 | |
%t29 = load i64, i64* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%t31 = load i64, i64* %2 | |
%3 = inttoptr i64 %t31 to void (i64*, i64*, i64*, i64)* | |
%4 = inttoptr i64 %t22 to i64* | |
%5 = inttoptr i64 %t24 to i64* | |
notail call void %3(i64* %this, i64* %4, i64* %5, i64 %t29) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_in_sig_void_this_objobjobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4i4obj(i64* %this, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64 %arg_3, i32 %arg_4, i32 %arg_5, i64* %arg_6, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i32, align 4 | |
%3 = alloca i32, align 4 | |
%4 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%5 = alloca i64*, align 1 | |
%6 = alloca i64*, align 1 | |
%7 = alloca i64*, align 1 | |
%8 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%9 = getelementptr i64, i64* %8, i32 0 | |
store i64 %arg_3, i64* %9 | |
store i64* %arg_0, i64** %7 | |
store i64* %arg_1, i64** %6 | |
store i64* %arg_2, i64** %5 | |
store i32 %arg_4, i32* %3 | |
store i32 %arg_5, i32* %2 | |
store i64* %arg_6, i64** %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%10 = inttoptr i64 %arg_ftndesc to i64* | |
%11 = getelementptr i64, i64* %10, i32 1 | |
%t37 = load i64, i64* %11 | |
%12 = inttoptr i64 %arg_ftndesc to i64* | |
%t39 = load i64, i64* %12 | |
%13 = inttoptr i64 %t39 to void (i64*, i64*, i64*, i64*, i64*, i64*, i64*, i64*, i64)* | |
%14 = bitcast i64** %7 to i64* | |
%15 = bitcast i64** %6 to i64* | |
%16 = bitcast i64** %5 to i64* | |
%17 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%18 = bitcast i32* %3 to i64* | |
%19 = bitcast i32* %2 to i64* | |
%20 = bitcast i64** %1 to i64* | |
notail call void %13(i64* %this, i64* %14, i64* %15, i64* %16, i64* %17, i64* %18, i64* %19, i64* %20, i64 %t37) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_objobjcl21_Mono_2eValueTuple_601_3cobject_3e_(i64* %this, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t23 = load i64, i64* %arg_0 | |
%t25 = load i64, i64* %arg_1 | |
%1 = ptrtoint i64* %arg_2 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%6 = getelementptr i64, i64* %5, i32 1 | |
%t32 = load i64, i64* %6 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%t34 = load i64, i64* %7 | |
%8 = inttoptr i64 %t34 to void (i64*, i64*, i64*, i64, i64)* | |
%9 = inttoptr i64 %t23 to i64* | |
%10 = inttoptr i64 %t25 to i64* | |
%11 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%12 = getelementptr i64, i64* %11, i32 0 | |
%13 = load i64, i64* %12 | |
notail call void %8(i64* %this, i64* %9, i64* %10, i64 %13, i64 %t32) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_objobji4(i64* %this, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t23 = load i64, i64* %arg_0 | |
%t25 = load i64, i64* %arg_1 | |
%0 = bitcast i64* %arg_2 to i32* | |
%t27 = load i32, i32* %0 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t32 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t34 = load i64, i64* %3 | |
%4 = inttoptr i64 %t34 to void (i64*, i64*, i64*, i32, i64)* | |
%5 = inttoptr i64 %t23 to i64* | |
%6 = inttoptr i64 %t25 to i64* | |
notail call void %4(i64* %this, i64* %5, i64* %6, i32 %t27, i64 %t32) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_objobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4(i64* %this, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t24 = load i64, i64* %arg_0 | |
%t26 = load i64, i64* %arg_1 | |
%1 = ptrtoint i64* %arg_2 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_3 to i32* | |
%t30 = load i32, i32* %5 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%7 = getelementptr i64, i64* %6, i32 1 | |
%t35 = load i64, i64* %7 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%t37 = load i64, i64* %8 | |
%9 = inttoptr i64 %t37 to void (i64*, i64*, i64*, i64, i32, i64)* | |
%10 = inttoptr i64 %t24 to i64* | |
%11 = inttoptr i64 %t26 to i64* | |
%12 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%13 = getelementptr i64, i64* %12, i32 0 | |
%14 = load i64, i64* %13 | |
notail call void %9(i64* %this, i64* %10, i64* %11, i64 %14, i32 %t30, i64 %t35) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_objobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4i4obj(i64* %this, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64* %arg_4, i64* %arg_5, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t26 = load i64, i64* %arg_0 | |
%t28 = load i64, i64* %arg_1 | |
%1 = ptrtoint i64* %arg_2 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_3 to i32* | |
%t32 = load i32, i32* %5 | |
%6 = bitcast i64* %arg_4 to i32* | |
%t34 = load i32, i32* %6 | |
%t36 = load i64, i64* %arg_5 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%8 = getelementptr i64, i64* %7, i32 1 | |
%t41 = load i64, i64* %8 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%t43 = load i64, i64* %9 | |
%10 = inttoptr i64 %t43 to void (i64*, i64*, i64*, i64, i32, i32, i64*, i64)* | |
%11 = inttoptr i64 %t26 to i64* | |
%12 = inttoptr i64 %t28 to i64* | |
%13 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%14 = getelementptr i64, i64* %13, i32 0 | |
%15 = load i64, i64* %14 | |
%16 = inttoptr i64 %t36 to i64* | |
notail call void %10(i64* %this, i64* %11, i64* %12, i64 %15, i32 %t32, i32 %t34, i64* %16, i64 %t41) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_objobjobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4i4obj(i64* %this, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64* %arg_4, i64* %arg_5, i64* %arg_6, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t27 = load i64, i64* %arg_0 | |
%t29 = load i64, i64* %arg_1 | |
%t31 = load i64, i64* %arg_2 | |
%1 = ptrtoint i64* %arg_3 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_4 to i32* | |
%t35 = load i32, i32* %5 | |
%6 = bitcast i64* %arg_5 to i32* | |
%t37 = load i32, i32* %6 | |
%t39 = load i64, i64* %arg_6 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%8 = getelementptr i64, i64* %7, i32 1 | |
%t44 = load i64, i64* %8 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%t46 = load i64, i64* %9 | |
%10 = inttoptr i64 %t46 to void (i64*, i64*, i64*, i64*, i64, i32, i32, i64*, i64)* | |
%11 = inttoptr i64 %t27 to i64* | |
%12 = inttoptr i64 %t29 to i64* | |
%13 = inttoptr i64 %t31 to i64* | |
%14 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%15 = getelementptr i64, i64* %14, i32 0 | |
%16 = load i64, i64* %15 | |
%17 = inttoptr i64 %t39 to i64* | |
notail call void %10(i64* %this, i64* %11, i64* %12, i64* %13, i64 %16, i32 %t35, i32 %t37, i64* %17, i64 %t44) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_objobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4i4obj(i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64* %arg_4, i64* %arg_5, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t26 = load i64, i64* %arg_0 | |
%t28 = load i64, i64* %arg_1 | |
%1 = ptrtoint i64* %arg_2 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_3 to i32* | |
%t32 = load i32, i32* %5 | |
%6 = bitcast i64* %arg_4 to i32* | |
%t34 = load i32, i32* %6 | |
%t36 = load i64, i64* %arg_5 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%8 = getelementptr i64, i64* %7, i32 1 | |
%t41 = load i64, i64* %8 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%t43 = load i64, i64* %9 | |
%10 = inttoptr i64 %t43 to i64* (i64*, i64*, i64, i32, i32, i64*, i64)* | |
%11 = inttoptr i64 %t26 to i64* | |
%12 = inttoptr i64 %t28 to i64* | |
%13 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%14 = getelementptr i64, i64* %13, i32 0 | |
%15 = load i64, i64* %14 | |
%16 = inttoptr i64 %t36 to i64* | |
%17 = notail call i64* %10(i64* %11, i64* %12, i64 %15, i32 %t32, i32 %t34, i64* %16, i64 %t41) | |
%18 = inttoptr i64 %arg_vret to i64* | |
%19 = getelementptr i64, i64* %18, i32 0 | |
%20 = ptrtoint i64* %17 to i64 | |
store i64 %20, i64* %19 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_objobjobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4i4obj(i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64* %arg_4, i64* %arg_5, i64* %arg_6, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t27 = load i64, i64* %arg_0 | |
%t29 = load i64, i64* %arg_1 | |
%t31 = load i64, i64* %arg_2 | |
%1 = ptrtoint i64* %arg_3 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_4 to i32* | |
%t35 = load i32, i32* %5 | |
%6 = bitcast i64* %arg_5 to i32* | |
%t37 = load i32, i32* %6 | |
%t39 = load i64, i64* %arg_6 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%8 = getelementptr i64, i64* %7, i32 1 | |
%t44 = load i64, i64* %8 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%t46 = load i64, i64* %9 | |
%10 = inttoptr i64 %t46 to i64* (i64*, i64*, i64*, i64, i32, i32, i64*, i64)* | |
%11 = inttoptr i64 %t27 to i64* | |
%12 = inttoptr i64 %t29 to i64* | |
%13 = inttoptr i64 %t31 to i64* | |
%14 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%15 = getelementptr i64, i64* %14, i32 0 | |
%16 = load i64, i64* %15 | |
%17 = inttoptr i64 %t39 to i64* | |
%18 = notail call i64* %10(i64* %11, i64* %12, i64* %13, i64 %16, i32 %t35, i32 %t37, i64* %17, i64 %t44) | |
%19 = inttoptr i64 %arg_vret to i64* | |
%20 = getelementptr i64, i64* %19, i32 0 | |
%21 = ptrtoint i64* %18 to i64 | |
store i64 %21, i64* %20 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_(i64* %this, i64 %arg_vret, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%0 = inttoptr i64 %arg_ftndesc to i64* | |
%1 = getelementptr i64, i64* %0, i32 1 | |
%t25 = load i64, i64* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%t27 = load i64, i64* %2 | |
%3 = inttoptr i64 %t27 to i64* (i64*, i64)* | |
%4 = notail call i64* %3(i64* %this, i64 %t25) | |
%5 = inttoptr i64 %arg_vret to i64* | |
%6 = getelementptr i64, i64* %5, i32 0 | |
%7 = ptrtoint i64* %4 to i64 | |
store i64 %7, i64* %6 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_u1_this_cl1e_Mono_2eValueTuple_601_3cint_3e_(i64* %this, i64 %arg_vret, i64* %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = ptrtoint i64* %arg_0 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 4, i32 0, i1 false) | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%6 = getelementptr i64, i64* %5, i32 1 | |
%t28 = load i64, i64* %6 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%t30 = load i64, i64* %7 | |
%8 = inttoptr i64 %t30 to i8 (i64*, i64, i64)* | |
%9 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i64* | |
%10 = getelementptr i64, i64* %9, i32 0 | |
%11 = bitcast i64* %10 to i32* | |
%12 = load i32, i32* %11 | |
%13 = sext i32 %12 to i64 | |
%14 = notail call i8 %8(i64* %this, i64 %13, i64 %t28) | |
%15 = zext i8 %14 to i32 | |
%16 = inttoptr i64 %arg_vret to i8* | |
%17 = getelementptr i8, i8* %16, i32 0 | |
%18 = trunc i32 %15 to i8 | |
store i8 %18, i8* %17 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i8 @aot_wrapper_gsharedvt_in_sig_u1_this_cl1e_Mono_2eValueTuple_601_3cint_3e_(i64* %this, i64 %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%1 = alloca i8, align 1 | |
%2 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%3 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i64* | |
%4 = getelementptr i64, i64* %3, i32 0 | |
%5 = trunc i64 %arg_0 to i32 | |
%6 = bitcast i64* %4 to i32* | |
store i32 %5, i32* %6 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i8 0, i8* %1 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%8 = getelementptr i64, i64* %7, i32 1 | |
%t28 = load i64, i64* %8 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%t30 = load i64, i64* %9 | |
%10 = inttoptr i64 %t30 to void (i64*, i64, i64*, i64)* | |
%11 = ptrtoint i8* %1 to i64 | |
%12 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i64* | |
notail call void %10(i64* %this, i64 %11, i64* %12, i64 %t28) | |
%13 = load volatile i8, i8* %1 | |
%14 = zext i8 %13 to i32 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
%15 = trunc i32 %14 to i8 | |
ret i8 %15 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_cl1e_Mono_2eValueTuple_601_3cint_3e__this_(i64* %this, i64 %arg_vret, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t25 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t27 = load i64, i64* %3 | |
%4 = inttoptr i64 %t27 to { i64 } (i64*, i64)* | |
%5 = notail call { i64 } %4(i64* %this, i64 %t25) | |
%6 = extractvalue { i64 } %5, 0 | |
%7 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i64* | |
%8 = getelementptr i64, i64* %7, i32 0 | |
%9 = trunc i64 %6 to i32 | |
%10 = bitcast i64* %8 to i32* | |
store i32 %9, i32* %10 | |
%11 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i8* | |
%12 = add i64 %arg_vret, 0 | |
%13 = inttoptr i64 %12 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %13, i8* %11, i32 4, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal { i64 } @aot_wrapper_gsharedvt_in_sig_cl1e_Mono_2eValueTuple_601_3cint_3e__this_u1(i64* %this, i8 %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%1 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%2 = alloca i8, align 1 | |
%3 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%4 = zext i8 %arg_0 to i32 | |
%5 = trunc i32 %4 to i8 | |
store i8 %5, i8* %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
%6 = bitcast %"Mono.ValueTuple`1<int>"* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %6, i8 0, i32 4, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%8 = getelementptr i64, i64* %7, i32 1 | |
%t28 = load i64, i64* %8 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%t30 = load i64, i64* %9 | |
%10 = inttoptr i64 %t30 to void (i64*, i64, i64*, i64)* | |
%11 = ptrtoint %"Mono.ValueTuple`1<int>"* %1 to i64 | |
%12 = bitcast i8* %2 to i64* | |
notail call void %10(i64* %this, i64 %11, i64* %12, i64 %t28) | |
%13 = bitcast %"Mono.ValueTuple`1<int>"* %1 to i8* | |
%14 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %14, i8* %13, i32 4, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
%15 = bitcast %"Mono.ValueTuple`1<int>"* %0 to { i64 }* | |
%16 = getelementptr { i64 }, { i64 }* %15, i32 0, i32 0 | |
%17 = load i64, i64* %16 | |
%18 = insertvalue { i64 } undef, i64 %17, 0 | |
ret { i64 } %18 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_cl1e_Mono_2eValueTuple_601_3cint_3e__this_u1(i64* %this, i64 %arg_vret, i64* %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = bitcast i64* %arg_0 to i8* | |
%2 = load i8, i8* %1 | |
%3 = zext i8 %2 to i32 | |
%4 = inttoptr i64 %arg_ftndesc to i64* | |
%5 = getelementptr i64, i64* %4, i32 1 | |
%t28 = load i64, i64* %5 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%t30 = load i64, i64* %6 | |
%7 = inttoptr i64 %t30 to { i64 } (i64*, i8, i64)* | |
%8 = trunc i32 %3 to i8 | |
%9 = notail call { i64 } %7(i64* %this, i8 %8, i64 %t28) | |
%10 = extractvalue { i64 } %9, 0 | |
%11 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i64* | |
%12 = getelementptr i64, i64* %11, i32 0 | |
%13 = trunc i64 %10 to i32 | |
%14 = bitcast i64* %12 to i32* | |
store i32 %13, i32* %14 | |
%15 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i8* | |
%16 = add i64 %arg_vret, 0 | |
%17 = inttoptr i64 %16 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %17, i8* %15, i32 4, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_(i64 %arg_vret, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%0 = inttoptr i64 %arg_ftndesc to i64* | |
%1 = getelementptr i64, i64* %0, i32 1 | |
%t23 = load i64, i64* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%t25 = load i64, i64* %2 | |
%3 = inttoptr i64 %t25 to i64* (i64)* | |
%4 = notail call i64* %3(i64 %t23) | |
%5 = inttoptr i64 %arg_vret to i64* | |
%6 = getelementptr i64, i64* %5, i32 0 | |
%7 = ptrtoint i64* %4 to i64 | |
store i64 %7, i64* %6 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_biiobjobj(i64* %arg_0, i64* %arg_1, i64* %arg_2, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca i64*, align 1 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i64*, align 1 | |
store i64* %arg_1, i64** %2 | |
store i64* %arg_2, i64** %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %0 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%4 = getelementptr i64, i64* %3, i32 1 | |
%t30 = load i64, i64* %4 | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%t32 = load i64, i64* %5 | |
%6 = inttoptr i64 %t32 to void (i64, i64*, i64*, i64*, i64)* | |
%7 = ptrtoint i64** %0 to i64 | |
%8 = bitcast i64** %2 to i64* | |
%9 = bitcast i64** %1 to i64* | |
notail call void %6(i64 %7, i64* %arg_0, i64* %8, i64* %9, i64 %t30) | |
%10 = load volatile i64*, i64** %0 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %10 | |
} | |
; Function Attrs: uwtable | |
define internal { i64 } @aot_wrapper_gsharedvt_in_sig_cl1e_Mono_2eValueTuple_601_3cint_3e__this_obj(i64* %this, i64* %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%1 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%2 = alloca i64*, align 1 | |
%3 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
store i64* %arg_0, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
%4 = bitcast %"Mono.ValueTuple`1<int>"* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %4, i8 0, i32 4, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%6 = getelementptr i64, i64* %5, i32 1 | |
%t28 = load i64, i64* %6 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%t30 = load i64, i64* %7 | |
%8 = inttoptr i64 %t30 to void (i64*, i64, i64*, i64)* | |
%9 = ptrtoint %"Mono.ValueTuple`1<int>"* %1 to i64 | |
%10 = bitcast i64** %2 to i64* | |
notail call void %8(i64* %this, i64 %9, i64* %10, i64 %t28) | |
%11 = bitcast %"Mono.ValueTuple`1<int>"* %1 to i8* | |
%12 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %12, i8* %11, i32 4, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
%13 = bitcast %"Mono.ValueTuple`1<int>"* %0 to { i64 }* | |
%14 = getelementptr { i64 }, { i64 }* %13, i32 0, i32 0 | |
%15 = load i64, i64* %14 | |
%16 = insertvalue { i64 } undef, i64 %15, 0 | |
ret { i64 } %16 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Runtime_CompilerServices_TaskAwaiter_1_TResult_INST__ctor_System_Threading_Tasks_Task_1_TResult_INST(i64* %this, i64* %arg_task, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca i64, align 8, !mono.this !0 | |
%1 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %1, i64* %0 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 128) | |
%2 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%3 = icmp eq i8 %2, 0 | |
br i1 %3, label %NOTINITED_BB7, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB7, %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%4 = icmp eq i64* %this, null | |
br i1 %4, label %EX_BB3, label %NOEX_BB5 | |
EX_BB3: ; preds = %BB2 | |
br label %EX2_BB4 | |
EX2_BB4: ; preds = %EX_BB3 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %5 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB5: ; preds = %BB2 | |
%6 = getelementptr i64, i64* %this, i32 0 | |
%7 = ptrtoint i64* %arg_task to i64 | |
store volatile i64 %7, i64* %6 | |
%8 = ptrtoint i64* %this to i64 | |
%t22 = lshr i64 %8, 9 | |
%t24 = and i64 %t22, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%9 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t25 = add i64 %t24, %9 | |
%10 = inttoptr i64 %t25 to i8* | |
%11 = getelementptr i8, i8* %10, i32 0 | |
store i8 1, i8* %11 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB5 | |
ret void | |
NOTINITED_BB7: ; preds = %INIT_BB1 | |
%12 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 128, i64 %12) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: optsize | |
define internal void @ut_System_Runtime_CompilerServices_TaskAwaiter_1_TResult_INST__ctor_System_Threading_Tasks_Task_1_TResult_INST(i64*, i64*, i64*) #7 { | |
%4 = ptrtoint i64* %0 to i64 | |
%5 = add i64 %4, 16 | |
%6 = inttoptr i64 %5 to i64* | |
call void @System_Runtime_CompilerServices_TaskAwaiter_1_TResult_INST__ctor_System_Threading_Tasks_Task_1_TResult_INST(i64* %6, i64* %1, i64* %2) | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_cl21_Mono_2eValueTuple_601_3cobject_3e__this_(i64* %this, i64 %arg_vret, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t25 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t27 = load i64, i64* %3 | |
%4 = inttoptr i64 %t27 to { i64 } (i64*, i64)* | |
%5 = notail call { i64 } %4(i64* %this, i64 %t25) | |
%6 = extractvalue { i64 } %5, 0 | |
%7 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%8 = getelementptr i64, i64* %7, i32 0 | |
store i64 %6, i64* %8 | |
%9 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
%10 = add i64 %arg_vret, 0 | |
%11 = inttoptr i64 %10 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %11, i8* %9, i32 8, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Runtime_CompilerServices_ConfiguredTaskAwaitable_1_TResult_INST__ctor_System_Threading_Tasks_Task_1_TResult_INST_bool(i64* %this, i64* %arg_task, i8 %arg_continueOnCapturedContext, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1/ConfiguredTaskAwaiter<TResult_INST>", align 8 | |
%1 = alloca %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1/ConfiguredTaskAwaiter<TResult_INST>", align 8 | |
%2 = alloca i64, align 8, !mono.this !0 | |
%3 = zext i8 %arg_continueOnCapturedContext to i32 | |
%4 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %4, i64* %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 130) | |
%5 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%6 = icmp eq i8 %5, 0 | |
br i1 %6, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%7 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%8 = icmp eq i64 %7, 0 | |
%9 = call i1 @llvm.expect.i1(i1 %8, i1 true) | |
br i1 %9, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %10 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%11 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1/ConfiguredTaskAwaiter<TResult_INST>"* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %11, i8 0, i32 16, i32 0, i1 false) | |
%12 = load volatile i64, i64* %2 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 183) | |
%13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx = bitcast i64* %13 to i64 (i64, i64)* | |
%14 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%15 = notail call i64 %jit_icall_mono_fill_class_rgctx(i64 %12, i64 %14) | |
%16 = load volatile i64, i64* %2 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 184) | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 19) | |
%jit_icall_mono_fill_class_rgctx1 = bitcast i64* %17 to i64 (i64, i64)* | |
%18 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%19 = notail call i64 %jit_icall_mono_fill_class_rgctx1(i64 %16, i64 %18) | |
%20 = inttoptr i64 %19 to i64* | |
%t35 = load i64, i64* %20 | |
%21 = inttoptr i64 %19 to i64* | |
%22 = getelementptr i64, i64* %21, i32 1 | |
%t37 = load i64, i64* %22 | |
%23 = inttoptr i64 %t35 to void (i64*, i64*, i8, i64*)* | |
%24 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1/ConfiguredTaskAwaiter<TResult_INST>"* %1 to i64* | |
%25 = trunc i32 %3 to i8 | |
%26 = inttoptr i64 %t37 to i64* | |
notail call void %23(i64* %24, i64* %arg_task, i8 %25, i64* %26) | |
%27 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1/ConfiguredTaskAwaiter<TResult_INST>"* %1 to i8* | |
%28 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1/ConfiguredTaskAwaiter<TResult_INST>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %28, i8* %27, i32 16, i32 0, i1 false) | |
%29 = icmp eq i64* %this, null | |
br i1 %29, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB2 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%30 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %30 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB2 | |
%31 = ptrtoint i64* %this to i64 | |
%t45 = add i64 %31, 0 | |
%32 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1/ConfiguredTaskAwaiter<TResult_INST>"* %0 to i64* | |
%t47 = load i64, i64* %32 | |
%33 = inttoptr i64 %t45 to i64* | |
%34 = getelementptr i64, i64* %33, i32 0 | |
store i64 %t47, i64* %34 | |
%t48 = lshr i64 %t45, 9 | |
%t482 = and i64 %t48, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%35 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t483 = add i64 %t482, %35 | |
%36 = inttoptr i64 %t483 to i8* | |
%37 = getelementptr i8, i8* %36, i32 0 | |
store i8 1, i8* %37 | |
%t46 = add i64 %t45, 8 | |
%38 = bitcast %"System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1/ConfiguredTaskAwaiter<TResult_INST>"* %0 to i64* | |
%39 = getelementptr i64, i64* %38, i32 1 | |
%t474 = load i64, i64* %39 | |
%40 = inttoptr i64 %t46 to i64* | |
%41 = getelementptr i64, i64* %40, i32 0 | |
store i64 %t474, i64* %41 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
%42 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_vtable(i32 130, i64 %42) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: optsize | |
define internal void @ut_System_Runtime_CompilerServices_ConfiguredTaskAwaitable_1_TResult_INST__ctor_System_Threading_Tasks_Task_1_TResult_INST_bool(i64*, i64*, i8, i64*) #7 { | |
%5 = ptrtoint i64* %0 to i64 | |
%6 = add i64 %5, 16 | |
%7 = inttoptr i64 %6 to i64* | |
call void @System_Runtime_CompilerServices_ConfiguredTaskAwaitable_1_TResult_INST__ctor_System_Threading_Tasks_Task_1_TResult_INST_bool(i64* %7, i64* %1, i8 %2, i64* %3) | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_cl46_Mono_2eValueTuple_601_3cMono_2eValueTuple_602_3cobject_2c_20byte_3e_3e__this_u1(i64* %this, i64 %arg_vret, i64* %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<Mono.ValueTuple`2<object, byte>>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = bitcast i64* %arg_0 to i8* | |
%2 = load i8, i8* %1 | |
%3 = zext i8 %2 to i32 | |
%4 = inttoptr i64 %arg_ftndesc to i64* | |
%5 = getelementptr i64, i64* %4, i32 1 | |
%t28 = load i64, i64* %5 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%t30 = load i64, i64* %6 | |
%7 = inttoptr i64 %t30 to void (i64*, i64, i8, i64)* | |
%8 = ptrtoint %"Mono.ValueTuple`1<Mono.ValueTuple`2<object, byte>>"* %0 to i64 | |
%9 = trunc i32 %3 to i8 | |
notail call void %7(i64* %this, i64 %8, i8 %9, i64 %t28) | |
%10 = bitcast %"Mono.ValueTuple`1<Mono.ValueTuple`2<object, byte>>"* %0 to i8* | |
%11 = add i64 %arg_vret, 0 | |
%12 = inttoptr i64 %11 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %12, i8* %10, i32 16, i32 0, i1 false) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_obj(i64* %this, i64 %arg_vret, i64* %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t23 = load i64, i64* %arg_0 | |
%0 = inttoptr i64 %arg_ftndesc to i64* | |
%1 = getelementptr i64, i64* %0, i32 1 | |
%t28 = load i64, i64* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%t30 = load i64, i64* %2 | |
%3 = inttoptr i64 %t30 to i64* (i64*, i64*, i64)* | |
%4 = inttoptr i64 %t23 to i64* | |
%5 = notail call i64* %3(i64* %this, i64* %4, i64 %t28) | |
%6 = inttoptr i64 %arg_vret to i64* | |
%7 = getelementptr i64, i64* %6, i32 0 | |
%8 = ptrtoint i64* %5 to i64 | |
store i64 %8, i64* %7 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_this_objobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4(i64* %this, i64* %arg_0, i64* %arg_1, i64 %arg_2, i32 %arg_3, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i32, align 4 | |
%3 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%4 = alloca i64*, align 1 | |
%5 = alloca i64*, align 1 | |
%6 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%7 = getelementptr i64, i64* %6, i32 0 | |
store i64 %arg_2, i64* %7 | |
store i64* %arg_0, i64** %5 | |
store i64* %arg_1, i64** %4 | |
store i32 %arg_3, i32* %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %1 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%9 = getelementptr i64, i64* %8, i32 1 | |
%t34 = load i64, i64* %9 | |
%10 = inttoptr i64 %arg_ftndesc to i64* | |
%t36 = load i64, i64* %10 | |
%11 = inttoptr i64 %t36 to void (i64*, i64, i64*, i64*, i64*, i64*, i64)* | |
%12 = ptrtoint i64** %1 to i64 | |
%13 = bitcast i64** %5 to i64* | |
%14 = bitcast i64** %4 to i64* | |
%15 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%16 = bitcast i32* %2 to i64* | |
notail call void %11(i64* %this, i64 %12, i64* %13, i64* %14, i64* %15, i64* %16, i64 %t34) | |
%17 = load volatile i64*, i64** %1 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %17 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objcl21_Mono_2eValueTuple_601_3cobject_3e_(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t24 = load i64, i64* %arg_0 | |
%1 = ptrtoint i64* %arg_1 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%6 = getelementptr i64, i64* %5, i32 1 | |
%t31 = load i64, i64* %6 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%t33 = load i64, i64* %7 | |
%8 = inttoptr i64 %t33 to i64* (i64*, i64*, i64, i64)* | |
%9 = inttoptr i64 %t24 to i64* | |
%10 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%11 = getelementptr i64, i64* %10, i32 0 | |
%12 = load i64, i64* %11 | |
%13 = notail call i64* %8(i64* %this, i64* %9, i64 %12, i64 %t31) | |
%14 = inttoptr i64 %arg_vret to i64* | |
%15 = getelementptr i64, i64* %14, i32 0 | |
%16 = ptrtoint i64* %13 to i64 | |
store i64 %16, i64* %15 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objobj(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t24 = load i64, i64* %arg_0 | |
%t26 = load i64, i64* %arg_1 | |
%0 = inttoptr i64 %arg_ftndesc to i64* | |
%1 = getelementptr i64, i64* %0, i32 1 | |
%t31 = load i64, i64* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%t33 = load i64, i64* %2 | |
%3 = inttoptr i64 %t33 to i64* (i64*, i64*, i64*, i64)* | |
%4 = inttoptr i64 %t24 to i64* | |
%5 = inttoptr i64 %t26 to i64* | |
%6 = notail call i64* %3(i64* %this, i64* %4, i64* %5, i64 %t31) | |
%7 = inttoptr i64 %arg_vret to i64* | |
%8 = getelementptr i64, i64* %7, i32 0 | |
%9 = ptrtoint i64* %6 to i64 | |
store i64 %9, i64* %8 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_obji4(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t24 = load i64, i64* %arg_0 | |
%0 = bitcast i64* %arg_1 to i32* | |
%t26 = load i32, i32* %0 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t31 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t33 = load i64, i64* %3 | |
%4 = inttoptr i64 %t33 to i64* (i64*, i64*, i32, i64)* | |
%5 = inttoptr i64 %t24 to i64* | |
%6 = notail call i64* %4(i64* %this, i64* %5, i32 %t26, i64 %t31) | |
%7 = inttoptr i64 %arg_vret to i64* | |
%8 = getelementptr i64, i64* %7, i32 0 | |
%9 = ptrtoint i64* %6 to i64 | |
store i64 %9, i64* %8 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objcl21_Mono_2eValueTuple_601_3cobject_3e_i4obj(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t26 = load i64, i64* %arg_0 | |
%1 = ptrtoint i64* %arg_1 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_2 to i32* | |
%t30 = load i32, i32* %5 | |
%t32 = load i64, i64* %arg_3 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%7 = getelementptr i64, i64* %6, i32 1 | |
%t37 = load i64, i64* %7 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%t39 = load i64, i64* %8 | |
%9 = inttoptr i64 %t39 to i64* (i64*, i64*, i64, i32, i64*, i64)* | |
%10 = inttoptr i64 %t26 to i64* | |
%11 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%12 = getelementptr i64, i64* %11, i32 0 | |
%13 = load i64, i64* %12 | |
%14 = inttoptr i64 %t32 to i64* | |
%15 = notail call i64* %9(i64* %this, i64* %10, i64 %13, i32 %t30, i64* %14, i64 %t37) | |
%16 = inttoptr i64 %arg_vret to i64* | |
%17 = getelementptr i64, i64* %16, i32 0 | |
%18 = ptrtoint i64* %15 to i64 | |
store i64 %18, i64* %17 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @System_Threading_Tasks_ContinuationTaskFromResultTask_1_TAntecedentResult_INST__ctor_System_Threading_Tasks_Task_1_TAntecedentResult_INST_System_Delegate_object_System_Threading_Tasks_TaskCreationOptions_System_Threading_Tasks_InternalTaskOptions(i64* %this, i64* %arg_antecedent, i64* %arg_action, i64* %arg_state, i32 %arg_creationOptions, i32 %arg_internalOptions) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca %System.Threading.CancellationToken, align 8 | |
%2 = alloca i64, align 8 | |
%3 = ptrtoint i64* %this to i64 | |
store i64 %3, i64* %2 | |
%4 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %4 | |
%5 = alloca %System.Threading.CancellationToken, align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 138) | |
%6 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %NOTINITED_BB9, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB9, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%8 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%9 = icmp eq i64 %8, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 true) | |
br i1 %10, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%11 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %11 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
%12 = bitcast %System.Threading.CancellationToken* %1 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 8, i32 0, i1 false) | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%13 = load volatile i64, i64* %2 | |
br label %BB7 | |
BB7: ; preds = %BB2 | |
%t31 = and i32 %arg_creationOptions, 4 | |
%14 = icmp ne i32 %t31, 0 | |
br i1 %14, label %BB9, label %BB10 | |
BB9: ; preds = %BB7 | |
%GET_TLS_TRAMP_34 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 34) | |
%15 = bitcast i64* %GET_TLS_TRAMP_34 to i64 ()* | |
%16 = notail call i64 %15() | |
%17 = inttoptr i64 %16 to i64* | |
%18 = getelementptr i64, i64* %17, i32 12 | |
%t36 = load i64, i64* %18 | |
%SFLDA_35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 35) | |
%19 = ptrtoint i64* %SFLDA_35 to i64 | |
%t67 = and i64 %19, 2147483647 | |
%t38 = and i64 %t67, 63 | |
%t68 = shl i64 %t38, 3 | |
%t69 = add i64 %t36, %t68 | |
%20 = inttoptr i64 %t69 to i64* | |
%t39 = load i64, i64* %20 | |
%21 = trunc i64 %t67 to i32 | |
%t40 = lshr i32 %21, 6 | |
%t70 = and i32 %t40, 33554431 | |
%22 = sext i32 %t70 to i64 | |
%t41 = add i64 %t39, %22 | |
%23 = inttoptr i64 %t41 to i64* | |
%t71 = load i64, i64* %23 | |
%24 = inttoptr i64 %t71 to i64* | |
br label %BB6 | |
BB10: ; preds = %BB7 | |
br label %BB6 | |
BB6: ; preds = %BB10, %BB9 | |
%25 = phi i64* [ null, %BB10 ], [ %24, %BB9 ] | |
%26 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %26, i8 0, i32 8, i32 0, i1 false) | |
%27 = bitcast %System.Threading.CancellationToken* %0 to i8* | |
%28 = bitcast %System.Threading.CancellationToken* %5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %28, i8* %27, i32 8, i32 0, i1 false) | |
%29 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 37) | |
%METHOD_37 = bitcast i64* %29 to void (i64*, i64*, i64*, i64*, i64, i32, i32, i64*)* | |
%30 = inttoptr i64 %13 to i64* | |
%31 = bitcast %System.Threading.CancellationToken* %5 to i64* | |
%32 = getelementptr i64, i64* %31, i32 0 | |
%33 = load i64, i64* %32 | |
notail call void %METHOD_37(i64* %30, i64* %arg_action, i64* %arg_state, i64* %25, i64 %33, i32 %arg_creationOptions, i32 %arg_internalOptions, i64* null) | |
%34 = load volatile i64, i64* %2 | |
%35 = icmp eq i64 %34, 0 | |
br i1 %35, label %EX_BB5, label %NOEX_BB7 | |
EX_BB5: ; preds = %BB6 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%36 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %36 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB6 | |
%37 = inttoptr i64 %34 to i64* | |
%38 = getelementptr i64, i64* %37, i32 9 | |
%39 = ptrtoint i64* %arg_antecedent to i64 | |
store volatile i64 %39, i64* %38 | |
%t59 = add i64 %34, 72 | |
%t60 = lshr i64 %t59, 9 | |
%t65 = and i64 %t60, 8388607 | |
%GC_CARD_TABLE_ADDR_2 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 2) | |
%40 = ptrtoint i64* %GC_CARD_TABLE_ADDR_2 to i64 | |
%t66 = add i64 %t65, %40 | |
%41 = inttoptr i64 %t66 to i8* | |
%42 = getelementptr i8, i8* %41, i32 0 | |
store i8 1, i8* %42 | |
br label %BB1 | |
BB1: ; preds = %NOEX_BB7 | |
ret void | |
NOTINITED_BB9: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_this(i32 138, i64* %this) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t26 = load i64, i64* %arg_0 | |
%t28 = load i64, i64* %arg_1 | |
%1 = ptrtoint i64* %arg_2 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_3 to i32* | |
%t32 = load i32, i32* %5 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%7 = getelementptr i64, i64* %6, i32 1 | |
%t37 = load i64, i64* %7 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%t39 = load i64, i64* %8 | |
%9 = inttoptr i64 %t39 to i64* (i64*, i64*, i64*, i64, i32, i64)* | |
%10 = inttoptr i64 %t26 to i64* | |
%11 = inttoptr i64 %t28 to i64* | |
%12 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%13 = getelementptr i64, i64* %12, i32 0 | |
%14 = load i64, i64* %13 | |
%15 = notail call i64* %9(i64* %this, i64* %10, i64* %11, i64 %14, i32 %t32, i64 %t37) | |
%16 = inttoptr i64 %arg_vret to i64* | |
%17 = getelementptr i64, i64* %16, i32 0 | |
%18 = ptrtoint i64* %15 to i64 | |
store i64 %18, i64* %17 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_this_objobjobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4(i64* %this, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64 %arg_3, i32 %arg_4, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i32, align 4 | |
%3 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%4 = alloca i64*, align 1 | |
%5 = alloca i64*, align 1 | |
%6 = alloca i64*, align 1 | |
%7 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%8 = getelementptr i64, i64* %7, i32 0 | |
store i64 %arg_3, i64* %8 | |
store i64* %arg_0, i64** %6 | |
store i64* %arg_1, i64** %5 | |
store i64* %arg_2, i64** %4 | |
store i32 %arg_4, i32* %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %1 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%10 = getelementptr i64, i64* %9, i32 1 | |
%t36 = load i64, i64* %10 | |
%11 = inttoptr i64 %arg_ftndesc to i64* | |
%t38 = load i64, i64* %11 | |
%12 = inttoptr i64 %t38 to void (i64*, i64, i64*, i64*, i64*, i64*, i64*, i64)* | |
%13 = ptrtoint i64** %1 to i64 | |
%14 = bitcast i64** %6 to i64* | |
%15 = bitcast i64** %5 to i64* | |
%16 = bitcast i64** %4 to i64* | |
%17 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%18 = bitcast i32* %2 to i64* | |
notail call void %12(i64* %this, i64 %13, i64* %14, i64* %15, i64* %16, i64* %17, i64* %18, i64 %t36) | |
%19 = load volatile i64*, i64** %1 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %19 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objobjcl21_Mono_2eValueTuple_601_3cobject_3e_(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t25 = load i64, i64* %arg_0 | |
%t27 = load i64, i64* %arg_1 | |
%1 = ptrtoint i64* %arg_2 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%6 = getelementptr i64, i64* %5, i32 1 | |
%t34 = load i64, i64* %6 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%t36 = load i64, i64* %7 | |
%8 = inttoptr i64 %t36 to i64* (i64*, i64*, i64*, i64, i64)* | |
%9 = inttoptr i64 %t25 to i64* | |
%10 = inttoptr i64 %t27 to i64* | |
%11 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%12 = getelementptr i64, i64* %11, i32 0 | |
%13 = load i64, i64* %12 | |
%14 = notail call i64* %8(i64* %this, i64* %9, i64* %10, i64 %13, i64 %t34) | |
%15 = inttoptr i64 %arg_vret to i64* | |
%16 = getelementptr i64, i64* %15, i32 0 | |
%17 = ptrtoint i64* %14 to i64 | |
store i64 %17, i64* %16 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objobjobj(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t25 = load i64, i64* %arg_0 | |
%t27 = load i64, i64* %arg_1 | |
%t29 = load i64, i64* %arg_2 | |
%0 = inttoptr i64 %arg_ftndesc to i64* | |
%1 = getelementptr i64, i64* %0, i32 1 | |
%t34 = load i64, i64* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%t36 = load i64, i64* %2 | |
%3 = inttoptr i64 %t36 to i64* (i64*, i64*, i64*, i64*, i64)* | |
%4 = inttoptr i64 %t25 to i64* | |
%5 = inttoptr i64 %t27 to i64* | |
%6 = inttoptr i64 %t29 to i64* | |
%7 = notail call i64* %3(i64* %this, i64* %4, i64* %5, i64* %6, i64 %t34) | |
%8 = inttoptr i64 %arg_vret to i64* | |
%9 = getelementptr i64, i64* %8, i32 0 | |
%10 = ptrtoint i64* %7 to i64 | |
store i64 %10, i64* %9 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objobji4(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t25 = load i64, i64* %arg_0 | |
%t27 = load i64, i64* %arg_1 | |
%0 = bitcast i64* %arg_2 to i32* | |
%t29 = load i32, i32* %0 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t34 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t36 = load i64, i64* %3 | |
%4 = inttoptr i64 %t36 to i64* (i64*, i64*, i64*, i32, i64)* | |
%5 = inttoptr i64 %t25 to i64* | |
%6 = inttoptr i64 %t27 to i64* | |
%7 = notail call i64* %4(i64* %this, i64* %5, i64* %6, i32 %t29, i64 %t34) | |
%8 = inttoptr i64 %arg_vret to i64* | |
%9 = getelementptr i64, i64* %8, i32 0 | |
%10 = ptrtoint i64* %7 to i64 | |
store i64 %10, i64* %9 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4obj(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64* %arg_4, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t27 = load i64, i64* %arg_0 | |
%t29 = load i64, i64* %arg_1 | |
%1 = ptrtoint i64* %arg_2 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_3 to i32* | |
%t33 = load i32, i32* %5 | |
%t35 = load i64, i64* %arg_4 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%7 = getelementptr i64, i64* %6, i32 1 | |
%t40 = load i64, i64* %7 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%t42 = load i64, i64* %8 | |
%9 = inttoptr i64 %t42 to i64* (i64*, i64*, i64*, i64, i32, i64*, i64)* | |
%10 = inttoptr i64 %t27 to i64* | |
%11 = inttoptr i64 %t29 to i64* | |
%12 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%13 = getelementptr i64, i64* %12, i32 0 | |
%14 = load i64, i64* %13 | |
%15 = inttoptr i64 %t35 to i64* | |
%16 = notail call i64* %9(i64* %this, i64* %10, i64* %11, i64 %14, i32 %t33, i64* %15, i64 %t40) | |
%17 = inttoptr i64 %arg_vret to i64* | |
%18 = getelementptr i64, i64* %17, i32 0 | |
%19 = ptrtoint i64* %16 to i64 | |
store i64 %19, i64* %18 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objobjobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64* %arg_4, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t27 = load i64, i64* %arg_0 | |
%t29 = load i64, i64* %arg_1 | |
%t31 = load i64, i64* %arg_2 | |
%1 = ptrtoint i64* %arg_3 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_4 to i32* | |
%t35 = load i32, i32* %5 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%7 = getelementptr i64, i64* %6, i32 1 | |
%t40 = load i64, i64* %7 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%t42 = load i64, i64* %8 | |
%9 = inttoptr i64 %t42 to i64* (i64*, i64*, i64*, i64*, i64, i32, i64)* | |
%10 = inttoptr i64 %t27 to i64* | |
%11 = inttoptr i64 %t29 to i64* | |
%12 = inttoptr i64 %t31 to i64* | |
%13 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%14 = getelementptr i64, i64* %13, i32 0 | |
%15 = load i64, i64* %14 | |
%16 = notail call i64* %9(i64* %this, i64* %10, i64* %11, i64* %12, i64 %15, i32 %t35, i64 %t40) | |
%17 = inttoptr i64 %arg_vret to i64* | |
%18 = getelementptr i64, i64* %17, i32 0 | |
%19 = ptrtoint i64* %16 to i64 | |
store i64 %19, i64* %18 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_in_sig_void_this_cl21_Mono_2eValueTuple_601_3cobject_3e_i4i4obj(i64* %this, i64 %arg_0, i32 %arg_1, i32 %arg_2, i64* %arg_3, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i32, align 4 | |
%3 = alloca i32, align 4 | |
%4 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%5 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%6 = getelementptr i64, i64* %5, i32 0 | |
store i64 %arg_0, i64* %6 | |
store i32 %arg_1, i32* %3 | |
store i32 %arg_2, i32* %2 | |
store i64* %arg_3, i64** %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%8 = getelementptr i64, i64* %7, i32 1 | |
%t31 = load i64, i64* %8 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%t33 = load i64, i64* %9 | |
%10 = inttoptr i64 %t33 to void (i64*, i64*, i64*, i64*, i64*, i64)* | |
%11 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%12 = bitcast i32* %3 to i64* | |
%13 = bitcast i32* %2 to i64* | |
%14 = bitcast i64** %1 to i64* | |
notail call void %10(i64* %this, i64* %11, i64* %12, i64* %13, i64* %14, i64 %t31) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_cl21_Mono_2eValueTuple_601_3cobject_3e_(i64* %this, i64* %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = ptrtoint i64* %arg_0 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%6 = getelementptr i64, i64* %5, i32 1 | |
%t26 = load i64, i64* %6 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%t28 = load i64, i64* %7 | |
%8 = inttoptr i64 %t28 to void (i64*, i64, i64)* | |
%9 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%10 = getelementptr i64, i64* %9, i32 0 | |
%11 = load i64, i64* %10 | |
notail call void %8(i64* %this, i64 %11, i64 %t26) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_i4i4(i64* %this, i64* %arg_0, i64* %arg_1, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%0 = bitcast i64* %arg_0 to i32* | |
%t22 = load i32, i32* %0 | |
%1 = bitcast i64* %arg_1 to i32* | |
%t24 = load i32, i32* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%3 = getelementptr i64, i64* %2, i32 1 | |
%t29 = load i64, i64* %3 | |
%4 = inttoptr i64 %arg_ftndesc to i64* | |
%t31 = load i64, i64* %4 | |
%5 = inttoptr i64 %t31 to void (i64*, i32, i32, i64)* | |
notail call void %5(i64* %this, i32 %t22, i32 %t24, i64 %t29) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_this_cl21_Mono_2eValueTuple_601_3cobject_3e_i4i4obj(i64* %this, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = ptrtoint i64* %arg_0 to i64 | |
%2 = add i64 %1, 0 | |
%3 = inttoptr i64 %2 to i8* | |
%4 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 0, i1 false) | |
%5 = bitcast i64* %arg_1 to i32* | |
%t26 = load i32, i32* %5 | |
%6 = bitcast i64* %arg_2 to i32* | |
%t28 = load i32, i32* %6 | |
%t30 = load i64, i64* %arg_3 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%8 = getelementptr i64, i64* %7, i32 1 | |
%t35 = load i64, i64* %8 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%t37 = load i64, i64* %9 | |
%10 = inttoptr i64 %t37 to void (i64*, i64, i32, i32, i64*, i64)* | |
%11 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%12 = getelementptr i64, i64* %11, i32 0 | |
%13 = load i64, i64* %12 | |
%14 = inttoptr i64 %t30 to i64* | |
notail call void %10(i64* %this, i64 %13, i32 %t26, i32 %t28, i64* %14, i64 %t35) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_i4_this_(i64* %this, i64 %arg_vret, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%0 = inttoptr i64 %arg_ftndesc to i64* | |
%1 = getelementptr i64, i64* %0, i32 1 | |
%t25 = load i64, i64* %1 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%t27 = load i64, i64* %2 | |
%3 = inttoptr i64 %t27 to i32 (i64*, i64)* | |
%4 = notail call i32 %3(i64* %this, i64 %t25) | |
%5 = inttoptr i64 %arg_vret to i32* | |
%6 = getelementptr i32, i32* %5, i32 0 | |
store i32 %4, i32* %6 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_objobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4i4obj(i64* %arg_0, i64* %arg_1, i64 %arg_2, i32 %arg_3, i32 %arg_4, i64* %arg_5, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i64*, align 1 | |
%3 = alloca i32, align 4 | |
%4 = alloca i32, align 4 | |
%5 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%6 = alloca i64*, align 1 | |
%7 = alloca i64*, align 1 | |
%8 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%9 = getelementptr i64, i64* %8, i32 0 | |
store i64 %arg_2, i64* %9 | |
store i64* %arg_0, i64** %7 | |
store i64* %arg_1, i64** %6 | |
store i32 %arg_3, i32* %4 | |
store i32 %arg_4, i32* %3 | |
store i64* %arg_5, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %1 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%10 = inttoptr i64 %arg_ftndesc to i64* | |
%11 = getelementptr i64, i64* %10, i32 1 | |
%t36 = load i64, i64* %11 | |
%12 = inttoptr i64 %arg_ftndesc to i64* | |
%t38 = load i64, i64* %12 | |
%13 = inttoptr i64 %t38 to void (i64, i64*, i64*, i64*, i64*, i64*, i64*, i64)* | |
%14 = ptrtoint i64** %1 to i64 | |
%15 = bitcast i64** %7 to i64* | |
%16 = bitcast i64** %6 to i64* | |
%17 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%18 = bitcast i32* %4 to i64* | |
%19 = bitcast i32* %3 to i64* | |
%20 = bitcast i64** %2 to i64* | |
notail call void %13(i64 %14, i64* %15, i64* %16, i64* %17, i64* %18, i64* %19, i64* %20, i64 %t36) | |
%21 = load volatile i64*, i64** %1 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %21 | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_this_obj(i64* %this, i64* %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca i64*, align 1 | |
%1 = alloca i64*, align 1 | |
store i64* %arg_0, i64** %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %0 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%2 = inttoptr i64 %arg_ftndesc to i64* | |
%3 = getelementptr i64, i64* %2, i32 1 | |
%t28 = load i64, i64* %3 | |
%4 = inttoptr i64 %arg_ftndesc to i64* | |
%t30 = load i64, i64* %4 | |
%5 = inttoptr i64 %t30 to void (i64*, i64, i64*, i64)* | |
%6 = ptrtoint i64** %0 to i64 | |
%7 = bitcast i64** %1 to i64* | |
notail call void %5(i64* %this, i64 %6, i64* %7, i64 %t28) | |
%8 = load volatile i64*, i64** %0 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %8 | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_objobjobjcl21_Mono_2eValueTuple_601_3cobject_3e_i4i4obj(i64* %arg_0, i64* %arg_1, i64* %arg_2, i64 %arg_3, i32 %arg_4, i32 %arg_5, i64* %arg_6, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i64*, align 1 | |
%3 = alloca i32, align 4 | |
%4 = alloca i32, align 4 | |
%5 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%6 = alloca i64*, align 1 | |
%7 = alloca i64*, align 1 | |
%8 = alloca i64*, align 1 | |
%9 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%10 = getelementptr i64, i64* %9, i32 0 | |
store i64 %arg_3, i64* %10 | |
store i64* %arg_0, i64** %8 | |
store i64* %arg_1, i64** %7 | |
store i64* %arg_2, i64** %6 | |
store i32 %arg_4, i32* %4 | |
store i32 %arg_5, i32* %3 | |
store i64* %arg_6, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %1 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%11 = inttoptr i64 %arg_ftndesc to i64* | |
%12 = getelementptr i64, i64* %11, i32 1 | |
%t38 = load i64, i64* %12 | |
%13 = inttoptr i64 %arg_ftndesc to i64* | |
%t40 = load i64, i64* %13 | |
%14 = inttoptr i64 %t40 to void (i64, i64*, i64*, i64*, i64*, i64*, i64*, i64*, i64)* | |
%15 = ptrtoint i64** %1 to i64 | |
%16 = bitcast i64** %8 to i64* | |
%17 = bitcast i64** %7 to i64* | |
%18 = bitcast i64** %6 to i64* | |
%19 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%20 = bitcast i32* %4 to i64* | |
%21 = bitcast i32* %3 to i64* | |
%22 = bitcast i64** %2 to i64* | |
notail call void %14(i64 %15, i64* %16, i64* %17, i64* %18, i64* %19, i64* %20, i64* %21, i64* %22, i64 %t38) | |
%23 = load volatile i64*, i64** %1 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %23 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_void_objobjobjobju1(i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64* %arg_4, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t23 = load i64, i64* %arg_0 | |
%t25 = load i64, i64* %arg_1 | |
%t27 = load i64, i64* %arg_2 | |
%t29 = load i64, i64* %arg_3 | |
%0 = bitcast i64* %arg_4 to i8* | |
%1 = load i8, i8* %0 | |
%2 = zext i8 %1 to i32 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%4 = getelementptr i64, i64* %3, i32 1 | |
%t36 = load i64, i64* %4 | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%t38 = load i64, i64* %5 | |
%6 = inttoptr i64 %t38 to void (i64*, i64*, i64*, i64*, i8, i64)* | |
%7 = inttoptr i64 %t23 to i64* | |
%8 = inttoptr i64 %t25 to i64* | |
%9 = inttoptr i64 %t27 to i64* | |
%10 = inttoptr i64 %t29 to i64* | |
%11 = trunc i32 %2 to i8 | |
notail call void %6(i64* %7, i64* %8, i64* %9, i64* %10, i8 %11, i64 %t36) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_in_sig_void_this_cl1e_Mono_2eValueTuple_601_3cint_3e_(i64* %this, i64 %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%1 = alloca %"Mono.ValueTuple`1<int>", align 4 | |
%2 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i64* | |
%3 = getelementptr i64, i64* %2, i32 0 | |
%4 = trunc i64 %arg_0 to i32 | |
%5 = bitcast i64* %3 to i32* | |
store i32 %4, i32* %5 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%7 = getelementptr i64, i64* %6, i32 1 | |
%t25 = load i64, i64* %7 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%t27 = load i64, i64* %8 | |
%9 = inttoptr i64 %t27 to void (i64*, i64*, i64)* | |
%10 = bitcast %"Mono.ValueTuple`1<int>"* %0 to i64* | |
notail call void %9(i64* %this, i64* %10, i64 %t25) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_in_sig_void_this_obj(i64* %this, i64* %arg_0, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca i64*, align 1 | |
store i64* %arg_0, i64** %0 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t25 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t27 = load i64, i64* %3 | |
%4 = inttoptr i64 %t27 to void (i64*, i64*, i64)* | |
%5 = bitcast i64** %0 to i64* | |
notail call void %4(i64* %this, i64* %5, i64 %t25) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_objobjobji4obj(i64* %arg_0, i64* %arg_1, i64* %arg_2, i32 %arg_3, i64* %arg_4, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca i64*, align 1 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i32, align 4 | |
%3 = alloca i64*, align 1 | |
%4 = alloca i64*, align 1 | |
%5 = alloca i64*, align 1 | |
store i64* %arg_0, i64** %5 | |
store i64* %arg_1, i64** %4 | |
store i64* %arg_2, i64** %3 | |
store i32 %arg_3, i32* %2 | |
store i64* %arg_4, i64** %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %0 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%7 = getelementptr i64, i64* %6, i32 1 | |
%t34 = load i64, i64* %7 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%t36 = load i64, i64* %8 | |
%9 = inttoptr i64 %t36 to void (i64, i64*, i64*, i64*, i64*, i64*, i64)* | |
%10 = ptrtoint i64** %0 to i64 | |
%11 = bitcast i64** %5 to i64* | |
%12 = bitcast i64** %4 to i64* | |
%13 = bitcast i64** %3 to i64* | |
%14 = bitcast i32* %2 to i64* | |
%15 = bitcast i64** %1 to i64* | |
notail call void %9(i64 %10, i64* %11, i64* %12, i64* %13, i64* %14, i64* %15, i64 %t34) | |
%16 = load volatile i64*, i64** %0 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %16 | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_this_(i64* %this, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca i64*, align 1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %0 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t26 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t28 = load i64, i64* %3 | |
%4 = inttoptr i64 %t28 to void (i64*, i64, i64)* | |
%5 = ptrtoint i64** %0 to i64 | |
notail call void %4(i64* %this, i64 %5, i64 %t26) | |
%6 = load volatile i64*, i64** %0 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %6 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objobji4obj(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t26 = load i64, i64* %arg_0 | |
%t28 = load i64, i64* %arg_1 | |
%0 = bitcast i64* %arg_2 to i32* | |
%t30 = load i32, i32* %0 | |
%t32 = load i64, i64* %arg_3 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t37 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t39 = load i64, i64* %3 | |
%4 = inttoptr i64 %t39 to i64* (i64*, i64*, i64*, i32, i64*, i64)* | |
%5 = inttoptr i64 %t26 to i64* | |
%6 = inttoptr i64 %t28 to i64* | |
%7 = inttoptr i64 %t32 to i64* | |
%8 = notail call i64* %4(i64* %this, i64* %5, i64* %6, i32 %t30, i64* %7, i64 %t37) | |
%9 = inttoptr i64 %arg_vret to i64* | |
%10 = getelementptr i64, i64* %9, i32 0 | |
%11 = ptrtoint i64* %8 to i64 | |
store i64 %11, i64* %10 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @System_Threading_Tasks_TaskFactory_1__c__DisplayClass32_0_TResult_INST__ctor(i64* %this) #6 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_objobjobji4obj(i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64* %arg_4, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t25 = load i64, i64* %arg_0 | |
%t27 = load i64, i64* %arg_1 | |
%t29 = load i64, i64* %arg_2 | |
%0 = bitcast i64* %arg_3 to i32* | |
%t31 = load i32, i32* %0 | |
%t33 = load i64, i64* %arg_4 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t38 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t40 = load i64, i64* %3 | |
%4 = inttoptr i64 %t40 to i64* (i64*, i64*, i64*, i32, i64*, i64)* | |
%5 = inttoptr i64 %t25 to i64* | |
%6 = inttoptr i64 %t27 to i64* | |
%7 = inttoptr i64 %t29 to i64* | |
%8 = inttoptr i64 %t33 to i64* | |
%9 = notail call i64* %4(i64* %5, i64* %6, i64* %7, i32 %t31, i64* %8, i64 %t38) | |
%10 = inttoptr i64 %arg_vret to i64* | |
%11 = getelementptr i64, i64* %10, i32 0 | |
%12 = ptrtoint i64* %9 to i64 | |
store i64 %12, i64* %11 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_objobjobjobji4(i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i32 %arg_4, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca i64*, align 1 | |
%1 = alloca i32, align 4 | |
%2 = alloca i64*, align 1 | |
%3 = alloca i64*, align 1 | |
%4 = alloca i64*, align 1 | |
%5 = alloca i64*, align 1 | |
store i64* %arg_0, i64** %5 | |
store i64* %arg_1, i64** %4 | |
store i64* %arg_2, i64** %3 | |
store i64* %arg_3, i64** %2 | |
store i32 %arg_4, i32* %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %0 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%7 = getelementptr i64, i64* %6, i32 1 | |
%t34 = load i64, i64* %7 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%t36 = load i64, i64* %8 | |
%9 = inttoptr i64 %t36 to void (i64, i64*, i64*, i64*, i64*, i64*, i64)* | |
%10 = ptrtoint i64** %0 to i64 | |
%11 = bitcast i64** %5 to i64* | |
%12 = bitcast i64** %4 to i64* | |
%13 = bitcast i64** %3 to i64* | |
%14 = bitcast i64** %2 to i64* | |
%15 = bitcast i32* %1 to i64* | |
notail call void %9(i64 %10, i64* %11, i64* %12, i64* %13, i64* %14, i64* %15, i64 %t34) | |
%16 = load volatile i64*, i64** %0 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %16 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_this_objobjobji4(i64* %this, i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t26 = load i64, i64* %arg_0 | |
%t28 = load i64, i64* %arg_1 | |
%t30 = load i64, i64* %arg_2 | |
%0 = bitcast i64* %arg_3 to i32* | |
%t32 = load i32, i32* %0 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t37 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t39 = load i64, i64* %3 | |
%4 = inttoptr i64 %t39 to i64* (i64*, i64*, i64*, i64*, i32, i64)* | |
%5 = inttoptr i64 %t26 to i64* | |
%6 = inttoptr i64 %t28 to i64* | |
%7 = inttoptr i64 %t30 to i64* | |
%8 = notail call i64* %4(i64* %this, i64* %5, i64* %6, i64* %7, i32 %t32, i64 %t37) | |
%9 = inttoptr i64 %arg_vret to i64* | |
%10 = getelementptr i64, i64* %9, i32 0 | |
%11 = ptrtoint i64* %8 to i64 | |
store i64 %11, i64* %10 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @System_Threading_Tasks_TaskFactory_1__c__DisplayClass35_0_TResult_INST__ctor(i64* %this) #6 { | |
BB0: | |
%0 = alloca i64, align 8 | |
%1 = ptrtoint i64* %this to i64 | |
store i64 %1, i64* %0 | |
%2 = alloca i64*, !mono.this !0 | |
store volatile i64* %this, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_objobjobjobji4(i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i64* %arg_4, i64 %arg_ftndesc) #6 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%t25 = load i64, i64* %arg_0 | |
%t27 = load i64, i64* %arg_1 | |
%t29 = load i64, i64* %arg_2 | |
%t31 = load i64, i64* %arg_3 | |
%0 = bitcast i64* %arg_4 to i32* | |
%t33 = load i32, i32* %0 | |
%1 = inttoptr i64 %arg_ftndesc to i64* | |
%2 = getelementptr i64, i64* %1, i32 1 | |
%t38 = load i64, i64* %2 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%t40 = load i64, i64* %3 | |
%4 = inttoptr i64 %t40 to i64* (i64*, i64*, i64*, i64*, i32, i64)* | |
%5 = inttoptr i64 %t25 to i64* | |
%6 = inttoptr i64 %t27 to i64* | |
%7 = inttoptr i64 %t29 to i64* | |
%8 = inttoptr i64 %t31 to i64* | |
%9 = notail call i64* %4(i64* %5, i64* %6, i64* %7, i64* %8, i32 %t33, i64 %t38) | |
%10 = inttoptr i64 %arg_vret to i64* | |
%11 = getelementptr i64, i64* %10, i32 0 | |
%12 = ptrtoint i64* %9 to i64 | |
store i64 %12, i64* %11 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_in_sig_void_objobjobjobju1(i64* %arg_0, i64* %arg_1, i64* %arg_2, i64* %arg_3, i8 %arg_4, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca i8, align 1 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i64*, align 1 | |
%3 = alloca i64*, align 1 | |
%4 = alloca i64*, align 1 | |
%5 = zext i8 %arg_4 to i32 | |
store i64* %arg_0, i64** %4 | |
store i64* %arg_1, i64** %3 | |
store i64* %arg_2, i64** %2 | |
store i64* %arg_3, i64** %1 | |
%6 = trunc i32 %5 to i8 | |
store i8 %6, i8* %0 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%7 = inttoptr i64 %arg_ftndesc to i64* | |
%8 = getelementptr i64, i64* %7, i32 1 | |
%t31 = load i64, i64* %8 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%t33 = load i64, i64* %9 | |
%10 = inttoptr i64 %t33 to void (i64*, i64*, i64*, i64*, i64*, i64)* | |
%11 = bitcast i64** %4 to i64* | |
%12 = bitcast i64** %3 to i64* | |
%13 = bitcast i64** %2 to i64* | |
%14 = bitcast i64** %1 to i64* | |
%15 = bitcast i8* %0 to i64* | |
notail call void %10(i64* %11, i64* %12, i64* %13, i64* %14, i64* %15, i64 %t31) | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_this_objobj(i64* %this, i64* %arg_0, i64* %arg_1, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca i64*, align 1 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i64*, align 1 | |
store i64* %arg_0, i64** %2 | |
store i64* %arg_1, i64** %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %0 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%3 = inttoptr i64 %arg_ftndesc to i64* | |
%4 = getelementptr i64, i64* %3, i32 1 | |
%t30 = load i64, i64* %4 | |
%5 = inttoptr i64 %arg_ftndesc to i64* | |
%t32 = load i64, i64* %5 | |
%6 = inttoptr i64 %t32 to void (i64*, i64, i64*, i64*, i64)* | |
%7 = ptrtoint i64** %0 to i64 | |
%8 = bitcast i64** %2 to i64* | |
%9 = bitcast i64** %1 to i64* | |
notail call void %6(i64* %this, i64 %7, i64* %8, i64* %9, i64 %t30) | |
%10 = load volatile i64*, i64** %0 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %10 | |
} | |
; Function Attrs: uwtable | |
define internal void @aot_wrapper_gsharedvt_out_sig_obj_i4cl21_Mono_2eValueTuple_601_3cobject_3e_(i64 %arg_vret, i64* %arg_0, i64* %arg_1, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%1 = bitcast i64* %arg_0 to i32* | |
%t22 = load i32, i32* %1 | |
%2 = ptrtoint i64* %arg_1 to i64 | |
%3 = add i64 %2, 0 | |
%4 = inttoptr i64 %3 to i8* | |
%5 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 8, i32 0, i1 false) | |
%6 = inttoptr i64 %arg_ftndesc to i64* | |
%7 = getelementptr i64, i64* %6, i32 1 | |
%t29 = load i64, i64* %7 | |
%8 = inttoptr i64 %arg_ftndesc to i64* | |
%t31 = load i64, i64* %8 | |
%9 = inttoptr i64 %t31 to i64* (i32, i64, i64)* | |
%10 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%11 = getelementptr i64, i64* %10, i32 0 | |
%12 = load i64, i64* %11 | |
%13 = notail call i64* %9(i32 %t22, i64 %12, i64 %t29) | |
%14 = inttoptr i64 %arg_vret to i64* | |
%15 = getelementptr i64, i64* %14, i32 0 | |
%16 = ptrtoint i64* %13 to i64 | |
store i64 %16, i64* %15 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i64* @aot_wrapper_gsharedvt_in_sig_obj_objobji4cl21_Mono_2eValueTuple_601_3cobject_3e_obj(i64* %arg_0, i64* %arg_1, i32 %arg_2, i64 %arg_3, i64* %arg_4, i64 %arg_ftndesc) #6 { | |
BB0: | |
%0 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%1 = alloca i64*, align 1 | |
%2 = alloca i64*, align 1 | |
%3 = alloca %"Mono.ValueTuple`1<object>", align 8 | |
%4 = alloca i32, align 4 | |
%5 = alloca i64*, align 1 | |
%6 = alloca i64*, align 1 | |
%7 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%8 = getelementptr i64, i64* %7, i32 0 | |
store i64 %arg_3, i64* %8 | |
store i64* %arg_0, i64** %6 | |
store i64* %arg_1, i64** %5 | |
store i32 %arg_2, i32* %4 | |
store i64* %arg_4, i64** %2 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
br label %INITED_BB2 | |
INITED_BB2: ; preds = %INIT_BB1 | |
br label %BB3 | |
BB3: ; preds = %INITED_BB2 | |
store i64* null, i64** %1 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%9 = inttoptr i64 %arg_ftndesc to i64* | |
%10 = getelementptr i64, i64* %9, i32 1 | |
%t34 = load i64, i64* %10 | |
%11 = inttoptr i64 %arg_ftndesc to i64* | |
%t36 = load i64, i64* %11 | |
%12 = inttoptr i64 %t36 to void (i64, i64*, i64*, i64*, i64*, i64*, i64)* | |
%13 = ptrtoint i64** %1 to i64 | |
%14 = bitcast i64** %6 to i64* | |
%15 = bitcast i64** %5 to i64* | |
%16 = bitcast i32* %4 to i64* | |
%17 = bitcast %"Mono.ValueTuple`1<object>"* %0 to i64* | |
%18 = bitcast i64** %2 to i64* | |
notail call void %12(i64 %13, i64* %14, i64* %15, i64* %16, i64* %17, i64* %18, i64 %t34) | |
%19 = load volatile i64*, i64** %1 | |
br label %BB1 | |
BB1: ; preds = %BB2 | |
ret i64* %19 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @System_Threading_Tasks_Task_1_TResult_REF_ContinueWith_TNewResult_INST_System_Func_3_System_Threading_Tasks_Task_1_TResult_REF_object_TNewResult_INST_object_System_Threading_Tasks_TaskScheduler_System_Threading_CancellationToken_System_Threading_Tasks_TaskContinuationOptions(i64* %this, i64* %arg_continuationFunction, i64* %arg_state, i64* %arg_scheduler, i64 %arg_cancellationToken, i32 %arg_continuationOptions, i64* %rgctx) #5 { | |
BB0: | |
%0 = alloca %System.Threading.CancellationToken, align 8 | |
%1 = alloca i64, align 8, !mono.this !0 | |
%2 = alloca i32, align 4 | |
%3 = alloca i32, align 4 | |
%4 = alloca %System.Threading.CancellationToken, align 8 | |
%5 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%6 = getelementptr i64, i64* %5, i32 0 | |
store i64 %arg_cancellationToken, i64* %6 | |
%7 = ptrtoint i64* %rgctx to i64 | |
store volatile i64 %7, i64* %1 | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 170) | |
%8 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%9 = icmp eq i8 %8, 0 | |
br i1 %9, label %NOTINITED_BB5, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB5, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%10 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%11 = icmp eq i64 %10, 0 | |
%12 = call i1 @llvm.expect.i1(i1 %11, i1 true) | |
br i1 %12, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%13 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %13 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
store i32 0, i32* %3 | |
store i32 0, i32* %2 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%14 = ptrtoint i64* %arg_continuationFunction to i64 | |
%15 = icmp ne i64 %14, 0 | |
br i1 %15, label %BB4, label %BB5 | |
BB4: ; preds = %BB2 | |
%16 = ptrtoint i64* %arg_scheduler to i64 | |
%17 = icmp ne i64 %16, 0 | |
br i1 %17, label %BB6, label %BB7 | |
BB5: ; preds = %BB2 | |
%18 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib2 = bitcast i64* %18 to i64* (i64)* | |
%19 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib2(i64 82642) | |
%20 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_13 = bitcast i64* %20 to i64* (i64, i64*)* | |
%21 = notail call i64* %jit_icall_mono_create_corlib_exception_13(i64 33554603, i64* %19) | |
%22 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_414 = bitcast i64* %22 to void (i64*)* | |
call void %JIT_ICALL_ADDR_414(i64* %21) | |
unreachable | |
BB6: ; preds = %BB4 | |
%23 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 71) | |
%METHOD_71 = bitcast i64* %23 to void (i32, i64*, i64*)* | |
%24 = bitcast i32* %3 to i64* | |
%25 = bitcast i32* %2 to i64* | |
notail call void %METHOD_71(i32 %arg_continuationOptions, i64* %24, i64* %25) | |
%26 = load volatile i32, i32* %3 | |
%27 = load volatile i32, i32* %2 | |
%28 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_VTABLE = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 185) | |
%29 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 18) | |
%jit_icall_mono_fill_method_rgctx = bitcast i64* %29 to i64 (i64, i64)* | |
%30 = ptrtoint i64* %RGCTX_SLOT_INDEX_VTABLE to i64 | |
%31 = notail call i64 %jit_icall_mono_fill_method_rgctx(i64 %28, i64 %30) | |
%32 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 27) | |
%METHOD_27 = bitcast i64* %32 to i64* (i64, i64)* | |
%33 = notail call i64* %METHOD_27(i64 %31, i64 88) | |
%34 = load volatile i64, i64* %1 | |
%RGCTX_SLOT_INDEX_METHOD_FTNDESC = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 186) | |
%35 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 18) | |
%jit_icall_mono_fill_method_rgctx1 = bitcast i64* %35 to i64 (i64, i64)* | |
%36 = ptrtoint i64* %RGCTX_SLOT_INDEX_METHOD_FTNDESC to i64 | |
%37 = notail call i64 %jit_icall_mono_fill_method_rgctx1(i64 %34, i64 %36) | |
%38 = inttoptr i64 %37 to i64* | |
%t68 = load i64, i64* %38 | |
%39 = inttoptr i64 %37 to i64* | |
%40 = getelementptr i64, i64* %39, i32 1 | |
%t70 = load i64, i64* %40 | |
%41 = inttoptr i64 %t68 to void (i64*, i64*, i64*, i64*, i32, i32, i64*)* | |
%42 = inttoptr i64 %t70 to i64* | |
notail call void %41(i64* %33, i64* %this, i64* %arg_continuationFunction, i64* %arg_state, i32 %26, i32 %27, i64* %42) | |
%43 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 74) | |
%METHOD_74 = bitcast i64* %43 to void (i64*, i64*, i64*, i64, i32)* | |
%44 = bitcast %System.Threading.CancellationToken* %0 to i64* | |
%45 = getelementptr i64, i64* %44, i32 0 | |
%46 = load i64, i64* %45 | |
notail call void %METHOD_74(i64* %this, i64* %33, i64* %arg_scheduler, i64 %46, i32 %arg_continuationOptions) | |
br label %BB1 | |
BB7: ; preds = %BB4 | |
%47 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 17) | |
%jit_icall_mono_helper_ldstr_mscorlib = bitcast i64* %47 to i64* (i64)* | |
%48 = notail call i64* %jit_icall_mono_helper_ldstr_mscorlib(i64 82526) | |
%49 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 40) | |
%jit_icall_mono_create_corlib_exception_1 = bitcast i64* %49 to i64* (i64, i64*)* | |
%50 = notail call i64* %jit_icall_mono_create_corlib_exception_1(i64 33554603, i64* %48) | |
%51 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 41) | |
%JIT_ICALL_ADDR_41 = bitcast i64* %51 to void (i64*)* | |
call void %JIT_ICALL_ADDR_41(i64* %50) | |
unreachable | |
BB1: ; preds = %BB6 | |
%52 = phi i64* [ %33, %BB6 ] | |
ret i64* %52 | |
NOTINITED_BB5: ; preds = %INIT_BB1 | |
%53 = ptrtoint i64* %rgctx to i64 | |
call preserve_allcc void @mono_aot_tupinit_method_gshared_mrgctx(i32 170, i64 %53) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @wrapper_delegate_invoke_System_Func_1_System_Threading_Tasks_Task___invoke_TResult(i64* %this) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 171) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t25 = load i32, i32* %6 | |
%7 = icmp eq i32 %t25, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t20 = load i64, i64* %8 | |
%9 = icmp ne i64 %t20, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t20, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t22 = load i64, i64* %15 | |
%16 = icmp eq i64 %t22, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t20 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t19 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t129, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t20, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t131 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t20, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t20 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t132 = load volatile i32, i32* %30 | |
%31 = sext i32 %t132 to i64 | |
%32 = icmp ule i64 %31, %t131 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t20, %35 | |
%t94 = add i64 %36, 32 | |
%37 = inttoptr i64 %t94 to i64* | |
%t21 = load i64, i64* %37 | |
%38 = icmp eq i64 %t21, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t21 to i64* | |
%t100 = load i64, i64* %40 | |
%41 = inttoptr i64 %t100 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t97 = load i64, i64* %42 | |
%43 = icmp ne i64 %t97, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t97, %NOEX_BB25 ], [ %55, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t98 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t105 = load i64, i64* %48 | |
%49 = inttoptr i64 %t98 to i64* (i64*, i64*)* | |
%50 = inttoptr i64 %t21 to i64* | |
%51 = inttoptr i64 %t105 to i64* | |
%52 = notail call i64* %49(i64* %50, i64* %51) | |
%t129 = add i32 %20, 1 | |
%53 = icmp slt i32 %t129, %t19 | |
br i1 %53, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %54 to i64 (i64, i64)* | |
%55 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t100, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
%56 = phi i64* [ %94, %BB15 ], [ %77, %BB20 ], [ %52, %BB13 ] | |
ret i64* %56 | |
BB10: ; preds = %BB9 | |
%57 = getelementptr i64, i64* %this, i32 7 | |
%t75 = load i64, i64* %57 | |
%58 = getelementptr i64, i64* %this, i32 2 | |
%t77 = load i64, i64* %58 | |
%t78 = and i64 %t75, 1 | |
%59 = icmp ne i64 %t78, 0 | |
br i1 %59, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%60 = getelementptr i64, i64* %this, i32 7 | |
%t57 = load i64, i64* %60 | |
%61 = getelementptr i64, i64* %this, i32 2 | |
%t59 = load i64, i64* %61 | |
%t60 = and i64 %t57, 1 | |
%62 = icmp ne i64 %t60, 0 | |
br i1 %62, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t124 = xor i64 %t75, 1 | |
%GSHAREDVT_IN_WRAPPER_187 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 187) | |
%63 = alloca i8, i32 16, align 16 | |
%64 = bitcast i8* %63 to i64* | |
%65 = getelementptr i64, i64* %64, i32 0 | |
store i64 %t77, i64* %65 | |
%66 = bitcast i8* %63 to i64* | |
%67 = getelementptr i64, i64* %66, i32 1 | |
store i64 %t124, i64* %67 | |
%68 = bitcast i64* %GSHAREDVT_IN_WRAPPER_187 to i64* (i64*)* | |
%69 = bitcast i8* %63 to i64* | |
%70 = notail call i64* %68(i64* %69) | |
%71 = ptrtoint i64* %70 to i64 | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%72 = inttoptr i64 %t77 to i64* (i64*)* | |
%73 = inttoptr i64 %t75 to i64* | |
%74 = notail call i64* %72(i64* %73) | |
%75 = ptrtoint i64* %74 to i64 | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
%76 = phi i64 [ %75, %BB21 ], [ %71, %BB19 ] | |
%77 = inttoptr i64 %76 to i64* | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t120 = xor i64 %t57, 1 | |
%GSHAREDVT_IN_WRAPPER_188 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 188) | |
%78 = alloca i8, i32 16, align 16 | |
%79 = bitcast i8* %78 to i64* | |
%80 = getelementptr i64, i64* %79, i32 0 | |
store i64 %t59, i64* %80 | |
%81 = bitcast i8* %78 to i64* | |
%82 = getelementptr i64, i64* %81, i32 1 | |
store i64 %t120, i64* %82 | |
%83 = bitcast i64* %GSHAREDVT_IN_WRAPPER_188 to i64* (i64*, i64*)* | |
%84 = inttoptr i64 %t22 to i64* | |
%85 = bitcast i8* %78 to i64* | |
%86 = notail call i64* %83(i64* %84, i64* %85) | |
%87 = ptrtoint i64* %86 to i64 | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%88 = inttoptr i64 %t59 to i64* (i64*, i64*)* | |
%89 = inttoptr i64 %t22 to i64* | |
%90 = inttoptr i64 %t57 to i64* | |
%91 = notail call i64* %88(i64* %89, i64* %90) | |
%92 = ptrtoint i64* %91 to i64 | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
%93 = phi i64 [ %92, %BB16 ], [ %87, %BB14 ] | |
%94 = inttoptr i64 %93 to i64* | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%95 = ptrtoint i64* %11 to i64 | |
%t37 = add i64 %95, 136 | |
%96 = inttoptr i64 %t37 to i32* | |
%97 = getelementptr i32, i32* %96, i32 0 | |
store i32 1, i32* %97 | |
%98 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %98 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 171) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal i64* @wrapper_delegate_invoke_System_Func_2_object_System_Threading_Tasks_Task___invoke_TResult_T_object(i64* %this, i64* %arg_0) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 172) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t26 = load i32, i32* %6 | |
%7 = icmp eq i32 %t26, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t21 = load i64, i64* %8 | |
%9 = icmp ne i64 %t21, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t21, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t23 = load i64, i64* %15 | |
%16 = icmp eq i64 %t23, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t21 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t20 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t138, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t21, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t140 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t21, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t21 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t141 = load volatile i32, i32* %30 | |
%31 = sext i32 %t141 to i64 | |
%32 = icmp ule i64 %31, %t140 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t21, %35 | |
%t101 = add i64 %36, 32 | |
%37 = inttoptr i64 %t101 to i64* | |
%t22 = load i64, i64* %37 | |
%38 = icmp eq i64 %t22, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t22 to i64* | |
%t108 = load i64, i64* %40 | |
%41 = inttoptr i64 %t108 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t105 = load i64, i64* %42 | |
%43 = icmp ne i64 %t105, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t105, %NOEX_BB25 ], [ %55, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t106 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t113 = load i64, i64* %48 | |
%49 = inttoptr i64 %t106 to i64* (i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t22 to i64* | |
%51 = inttoptr i64 %t113 to i64* | |
%52 = notail call i64* %49(i64* %50, i64* %arg_0, i64* %51) | |
%t138 = add i32 %20, 1 | |
%53 = icmp slt i32 %t138, %t20 | |
br i1 %53, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%54 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %54 to i64 (i64, i64)* | |
%55 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t108, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
%56 = phi i64* [ %94, %BB15 ], [ %77, %BB20 ], [ %52, %BB13 ] | |
ret i64* %56 | |
BB10: ; preds = %BB9 | |
%57 = getelementptr i64, i64* %this, i32 7 | |
%t80 = load i64, i64* %57 | |
%58 = getelementptr i64, i64* %this, i32 2 | |
%t82 = load i64, i64* %58 | |
%t83 = and i64 %t80, 1 | |
%59 = icmp ne i64 %t83, 0 | |
br i1 %59, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%60 = getelementptr i64, i64* %this, i32 7 | |
%t59 = load i64, i64* %60 | |
%61 = getelementptr i64, i64* %this, i32 2 | |
%t61 = load i64, i64* %61 | |
%t62 = and i64 %t59, 1 | |
%62 = icmp ne i64 %t62, 0 | |
br i1 %62, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t133 = xor i64 %t80, 1 | |
%GSHAREDVT_IN_WRAPPER_189 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 189) | |
%63 = alloca i8, i32 16, align 16 | |
%64 = bitcast i8* %63 to i64* | |
%65 = getelementptr i64, i64* %64, i32 0 | |
store i64 %t82, i64* %65 | |
%66 = bitcast i8* %63 to i64* | |
%67 = getelementptr i64, i64* %66, i32 1 | |
store i64 %t133, i64* %67 | |
%68 = bitcast i64* %GSHAREDVT_IN_WRAPPER_189 to i64* (i64*, i64*)* | |
%69 = bitcast i8* %63 to i64* | |
%70 = notail call i64* %68(i64* %arg_0, i64* %69) | |
%71 = ptrtoint i64* %70 to i64 | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%72 = inttoptr i64 %t82 to i64* (i64*, i64*)* | |
%73 = inttoptr i64 %t80 to i64* | |
%74 = notail call i64* %72(i64* %arg_0, i64* %73) | |
%75 = ptrtoint i64* %74 to i64 | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
%76 = phi i64 [ %75, %BB21 ], [ %71, %BB19 ] | |
%77 = inttoptr i64 %76 to i64* | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t129 = xor i64 %t59, 1 | |
%GSHAREDVT_IN_WRAPPER_190 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 190) | |
%78 = alloca i8, i32 16, align 16 | |
%79 = bitcast i8* %78 to i64* | |
%80 = getelementptr i64, i64* %79, i32 0 | |
store i64 %t61, i64* %80 | |
%81 = bitcast i8* %78 to i64* | |
%82 = getelementptr i64, i64* %81, i32 1 | |
store i64 %t129, i64* %82 | |
%83 = bitcast i64* %GSHAREDVT_IN_WRAPPER_190 to i64* (i64*, i64*, i64*)* | |
%84 = inttoptr i64 %t23 to i64* | |
%85 = bitcast i8* %78 to i64* | |
%86 = notail call i64* %83(i64* %84, i64* %arg_0, i64* %85) | |
%87 = ptrtoint i64* %86 to i64 | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%88 = inttoptr i64 %t61 to i64* (i64*, i64*, i64*)* | |
%89 = inttoptr i64 %t23 to i64* | |
%90 = inttoptr i64 %t59 to i64* | |
%91 = notail call i64* %88(i64* %89, i64* %arg_0, i64* %90) | |
%92 = ptrtoint i64* %91 to i64 | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
%93 = phi i64 [ %92, %BB16 ], [ %87, %BB14 ] | |
%94 = inttoptr i64 %93 to i64* | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%95 = ptrtoint i64* %11 to i64 | |
%t38 = add i64 %95, 136 | |
%96 = inttoptr i64 %t38 to i32* | |
%97 = getelementptr i32, i32* %96, i32 0 | |
store i32 1, i32* %97 | |
%98 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %98 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 172) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @wrapper_delegate_invoke_System_Action_1_System_Threading_Tasks_Task_1_System_Threading_Tasks_Task___invoke_void_T_System_Threading_Tasks_Task_1_System_Threading_Tasks_Task__(i64* %this, i64* %arg_0) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 173) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t24 = load i32, i32* %6 | |
%7 = icmp eq i32 %t24, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t20 = load i64, i64* %8 | |
%9 = icmp ne i64 %t20, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t20, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: ; preds = %BB4 | |
%15 = getelementptr i64, i64* %this, i32 4 | |
%t22 = load i64, i64* %15 | |
%16 = icmp eq i64 %t22, 0 | |
br i1 %16, label %BB10, label %BB11 | |
EX_BB5: ; preds = %BB8 | |
br label %EX2_BB6 | |
EX2_BB6: ; preds = %EX_BB5 | |
%17 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_22 = bitcast i64* %17 to void ()* | |
call void %JIT_ICALL_ADDR_22() | |
unreachable | |
NOEX_BB7: ; preds = %BB8 | |
%18 = inttoptr i64 %t20 to i32* | |
%19 = getelementptr i32, i32* %18, i32 6 | |
%t19 = load volatile i32, i32* %19 | |
br label %BB12 | |
BB12: ; preds = %BB24, %NOEX_BB7 | |
%20 = phi i32 [ 0, %NOEX_BB7 ], [ %t123, %BB24 ] | |
%GC_SAFE_POINT_FLAG_71 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%21 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_71 | |
%22 = icmp eq i64 %21, 0 | |
%23 = call i1 @llvm.expect.i1(i1 %22, i1 true) | |
br i1 %23, label %CONT_BB10, label %POLL_BB9 | |
POLL_BB9: ; preds = %BB12 | |
%24 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll2 = bitcast i64* %24 to void ()* | |
call void %jit_icall_mono_threads_state_poll2() | |
br label %CONT_BB10 | |
CONT_BB10: ; preds = %POLL_BB9, %BB12 | |
%25 = icmp eq i64 %t20, 0 | |
br i1 %25, label %EX_BB11, label %NOEX_BB13 | |
EX_BB11: ; preds = %CONT_BB10 | |
br label %EX2_BB12 | |
EX2_BB12: ; preds = %EX_BB11 | |
%26 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_223 = bitcast i64* %26 to void ()* | |
call void %JIT_ICALL_ADDR_223() | |
unreachable | |
NOEX_BB13: ; preds = %CONT_BB10 | |
%t124 = sext i32 %20 to i64 | |
%27 = icmp eq i64 %t20, 0 | |
br i1 %27, label %EX_BB15, label %NOEX_BB17 | |
EX_BB15: ; preds = %NOEX_BB13 | |
br label %EX2_BB16 | |
EX2_BB16: ; preds = %EX_BB15 | |
%28 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_224 = bitcast i64* %28 to void ()* | |
call void %JIT_ICALL_ADDR_224() | |
unreachable | |
NOEX_BB17: ; preds = %NOEX_BB13 | |
%29 = inttoptr i64 %t20 to i32* | |
%30 = getelementptr i32, i32* %29, i32 6 | |
%t125 = load volatile i32, i32* %30 | |
%31 = sext i32 %t125 to i64 | |
%32 = icmp ule i64 %31, %t124 | |
br i1 %32, label %EX_BB19, label %NOEX_BB21 | |
EX_BB19: ; preds = %NOEX_BB17 | |
br label %EX2_BB20 | |
EX2_BB20: ; preds = %EX_BB19 | |
%33 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 108) | |
%JIT_ICALL_ADDR_108 = bitcast i64* %33 to void (i32)* | |
call void %JIT_ICALL_ADDR_108(i32 252) | |
unreachable | |
NOEX_BB21: ; preds = %NOEX_BB17 | |
%34 = sext i32 %20 to i64 | |
%35 = mul i64 %34, 8 | |
%36 = add i64 %t20, %35 | |
%t95 = add i64 %36, 32 | |
%37 = inttoptr i64 %t95 to i64* | |
%t21 = load i64, i64* %37 | |
%38 = icmp eq i64 %t21, 0 | |
br i1 %38, label %EX_BB23, label %NOEX_BB25 | |
EX_BB23: ; preds = %NOEX_BB21 | |
br label %EX2_BB24 | |
EX2_BB24: ; preds = %EX_BB23 | |
%39 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 22) | |
%JIT_ICALL_ADDR_225 = bitcast i64* %39 to void ()* | |
call void %JIT_ICALL_ADDR_225() | |
unreachable | |
NOEX_BB25: ; preds = %NOEX_BB21 | |
%40 = inttoptr i64 %t21 to i64* | |
%t102 = load i64, i64* %40 | |
%41 = inttoptr i64 %t102 to i64* | |
%42 = getelementptr i64, i64* %41, i32 24 | |
%t99 = load i64, i64* %42 | |
%43 = icmp ne i64 %t99, 0 | |
%44 = call i1 @llvm.expect.i1(i1 %43, i1 true) | |
br i1 %44, label %BB24, label %BB25 | |
BB24: ; preds = %BB25, %NOEX_BB25 | |
%45 = phi i64 [ %t99, %NOEX_BB25 ], [ %54, %BB25 ] | |
%46 = inttoptr i64 %45 to i64* | |
%t100 = load i64, i64* %46 | |
%47 = inttoptr i64 %45 to i64* | |
%48 = getelementptr i64, i64* %47, i32 1 | |
%t107 = load i64, i64* %48 | |
%49 = inttoptr i64 %t100 to void (i64*, i64*, i64*)* | |
%50 = inttoptr i64 %t21 to i64* | |
%51 = inttoptr i64 %t107 to i64* | |
notail call void %49(i64* %50, i64* %arg_0, i64* %51) | |
%t123 = add i32 %20, 1 | |
%52 = icmp slt i32 %t123, %t19 | |
br i1 %52, label %BB12, label %BB13 | |
BB25: ; preds = %NOEX_BB25 | |
%53 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 16) | |
%jit_icall_mini_llvmonly_init_vtable_slot = bitcast i64* %53 to i64 (i64, i64)* | |
%54 = notail call i64 %jit_icall_mini_llvmonly_init_vtable_slot(i64 %t102, i64 15) | |
br label %BB24 | |
BB13: ; preds = %BB24 | |
br label %BB1 | |
BB1: ; preds = %BB15, %BB20, %BB13 | |
ret void | |
BB10: ; preds = %BB9 | |
%55 = getelementptr i64, i64* %this, i32 7 | |
%t76 = load i64, i64* %55 | |
%56 = getelementptr i64, i64* %this, i32 2 | |
%t78 = load i64, i64* %56 | |
%t79 = and i64 %t76, 1 | |
%57 = icmp ne i64 %t79, 0 | |
br i1 %57, label %BB19, label %BB21 | |
BB11: ; preds = %BB9 | |
%58 = getelementptr i64, i64* %this, i32 7 | |
%t57 = load i64, i64* %58 | |
%59 = getelementptr i64, i64* %this, i32 2 | |
%t59 = load i64, i64* %59 | |
%t60 = and i64 %t57, 1 | |
%60 = icmp ne i64 %t60, 0 | |
br i1 %60, label %BB14, label %BB16 | |
BB19: ; preds = %BB10 | |
%t119 = xor i64 %t76, 1 | |
%GSHAREDVT_IN_WRAPPER_191 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 191) | |
%61 = alloca i8, i32 16, align 16 | |
%62 = bitcast i8* %61 to i64* | |
%63 = getelementptr i64, i64* %62, i32 0 | |
store i64 %t78, i64* %63 | |
%64 = bitcast i8* %61 to i64* | |
%65 = getelementptr i64, i64* %64, i32 1 | |
store i64 %t119, i64* %65 | |
%66 = bitcast i64* %GSHAREDVT_IN_WRAPPER_191 to void (i64*, i64*)* | |
%67 = bitcast i8* %61 to i64* | |
notail call void %66(i64* %arg_0, i64* %67) | |
br label %BB20 | |
BB21: ; preds = %BB10 | |
%68 = inttoptr i64 %t78 to void (i64*, i64*)* | |
%69 = inttoptr i64 %t76 to i64* | |
notail call void %68(i64* %arg_0, i64* %69) | |
br label %BB20 | |
BB20: ; preds = %BB21, %BB19 | |
br label %BB1 | |
BB14: ; preds = %BB11 | |
%t118 = xor i64 %t57, 1 | |
%GSHAREDVT_IN_WRAPPER_192 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 192) | |
%70 = alloca i8, i32 16, align 16 | |
%71 = bitcast i8* %70 to i64* | |
%72 = getelementptr i64, i64* %71, i32 0 | |
store i64 %t59, i64* %72 | |
%73 = bitcast i8* %70 to i64* | |
%74 = getelementptr i64, i64* %73, i32 1 | |
store i64 %t118, i64* %74 | |
%75 = bitcast i64* %GSHAREDVT_IN_WRAPPER_192 to void (i64*, i64*, i64*)* | |
%76 = inttoptr i64 %t22 to i64* | |
%77 = bitcast i8* %70 to i64* | |
notail call void %75(i64* %76, i64* %arg_0, i64* %77) | |
br label %BB15 | |
BB16: ; preds = %BB11 | |
%78 = inttoptr i64 %t59 to void (i64*, i64*, i64*)* | |
%79 = inttoptr i64 %t22 to i64* | |
%80 = inttoptr i64 %t57 to i64* | |
notail call void %78(i64* %79, i64* %arg_0, i64* %80) | |
br label %BB15 | |
BB15: ; preds = %BB16, %BB14 | |
br label %BB1 | |
BB6: ; preds = %BB5 | |
br label %BB4 | |
BB7: ; preds = %BB5 | |
%81 = ptrtoint i64* %11 to i64 | |
%t36 = add i64 %81, 136 | |
%82 = inttoptr i64 %t36 to i32* | |
%83 = getelementptr i32, i32* %82, i32 0 | |
store i32 1, i32* %83 | |
%84 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 132) | |
%JIT_ICALL_ADDR_132 = bitcast i64* %84 to void (i64*)* | |
call void %JIT_ICALL_ADDR_132(i64* %11) | |
unreachable | |
NOTINITED_BB27: ; preds = %INIT_BB1 | |
call preserve_allcc void @mono_aot_tupinit_method(i32 173) | |
br label %INITED_BB2 | |
} | |
; Function Attrs: noinline uwtable | |
define internal void @wrapper_delegate_invoke_System_Action_2_System_Threading_Tasks_Task_1_System_Threading_Tasks_Task___object_invoke_void_T1_T2_System_Threading_Tasks_Task_1_System_Threading_Tasks_Task___object(i64* %this, i64* %arg_0, i64* %arg_1) #5 { | |
BB0: | |
br label %INIT_BB1 | |
INIT_BB1: ; preds = %BB0 | |
%is_inited = load i8, i8* getelementptr inbounds ([191 x i8], [191 x i8]* @mono_inited, i32 0, i32 174) | |
%0 = call i8 @llvm.expect.i8(i8 %is_inited, i8 1) | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %NOTINITED_BB27, label %INITED_BB2 | |
INITED_BB2: ; preds = %NOTINITED_BB27, %INIT_BB1 | |
%GC_SAFE_POINT_FLAG_7 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 7) | |
%2 = load volatile i64, i64* %GC_SAFE_POINT_FLAG_7 | |
%3 = icmp eq i64 %2, 0 | |
%4 = call i1 @llvm.expect.i1(i1 %3, i1 true) | |
br i1 %4, label %CONT_BB4, label %POLL_BB3 | |
POLL_BB3: ; preds = %INITED_BB2 | |
%5 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 15) | |
%jit_icall_mono_threads_state_poll = bitcast i64* %5 to void ()* | |
call void %jit_icall_mono_threads_state_poll() | |
br label %CONT_BB4 | |
CONT_BB4: ; preds = %POLL_BB3, %INITED_BB2 | |
br label %BB3 | |
BB3: ; preds = %CONT_BB4 | |
br label %BB2 | |
BB2: ; preds = %BB3 | |
%INTERRUPTION_REQUEST_FLAG_6 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 6) | |
%6 = bitcast i64* %INTERRUPTION_REQUEST_FLAG_6 to i32* | |
%t25 = load i32, i32* %6 | |
%7 = icmp eq i32 %t25, 0 | |
br i1 %7, label %BB4, label %BB5 | |
BB4: ; preds = %BB6, %BB2 | |
%8 = getelementptr i64, i64* %this, i32 15 | |
%t21 = load i64, i64* %8 | |
%9 = icmp ne i64 %t21, 0 | |
br i1 %9, label %BB8, label %BB9 | |
BB5: ; preds = %BB2 | |
%10 = load i64*, i64** getelementptr inbounds ([202 x i64*], [202 x i64*]* @mono_aot_tup_llvm_got, i32 0, i32 160) | |
%jit_icall_mono_thread_interruption_checkpoint = bitcast i64* %10 to i64* ()* | |
%11 = notail call i64* %jit_icall_mono_thread_interruption_checkpoint() | |
%12 = ptrtoint i64* %11 to i64 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %BB6, label %BB7 | |
BB8: ; preds = %BB4 | |
%14 = icmp eq i64 %t21, 0 | |
br i1 %14, label %EX_BB5, label %NOEX_BB7 | |
BB9: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment