Skip to content

Instantly share code, notes, and snippets.

@lambdageek
Last active March 26, 2019 00:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lambdageek/a57798e212c1306f66f53615292cd2be to your computer and use it in GitHub Desktop.
Save lambdageek/a57798e212c1306f66f53615292cd2be to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
; 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