Created
October 23, 2021 22:06
-
-
Save raviqqe/07dfc63e1ba9d29e88bccdb8753b84fe to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ; ModuleID = '840c8f9e80eb3a7b.bc' | |
| target triple = "x86_64-unknown-linux-gnu" | |
| @"/.pen/default/packages/cc2ed307d895f924/Print.pen:Line" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/cc2ed307d895f924/Print.pen:Lines" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Context.pen:New" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Context.pen:Inner" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Environment.pen:Arguments" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Environment.pen:Variable" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:StdIn" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:StdOut" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:StdErr" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:OpenWithOptions" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:Open" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:Read" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:ReadLimit" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, double)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:Write" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:Copy" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:Move" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:Remove" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:Metadata" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Bind" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Connect" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Accept" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Receive" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, double)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Send" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"/arguments.pen:Parse" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} } | |
| @"prelude:_equalStrings" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} } | |
| @"prelude:_first" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*)*, {}*, {}*)*, {} (i64)*, {} } | |
| @"prelude:_rest" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} } | |
| @"prelude:_firstRest" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} } | |
| @"prelude:_emptyList" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} } | |
| @"prelude:_prependToList" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, {}*)*, {} (i64)*, {} } | |
| @"prelude:_prependToNode" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*)*, {} (i64)*, {} } | |
| @"prelude:_concatenateLists" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, {}*)*, {} (i64)*, {} } | |
| @"prelude:_concatenateNodes" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*)*, {}*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*)*, {} (i64)*, {} } | |
| @"prelude:_equalLists" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, { { {} (i64)*, {} (i64)* }*, i64 }, { { {} (i64)*, {} (i64)* }*, i64 })*, {} (i64)*, {} }*, {}*, {}*)*, {} (i64)*, {} } | |
| @"prelude:_equalNodes" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, { { {} (i64)*, {} (i64)* }*, i64 }, { { {} (i64)*, {} (i64)* }*, i64 })*, {} (i64)*, {} }*, { { {} (i64)*, {} (i64)* }*, i64 }, { { {} (i64)*, {} (i64)* }*, i64 })*, {} (i64)*, {} } | |
| @"prelude:error" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { { {} (i64)*, {} (i64)* }*, i64 })*, {} (i64)*, {} } | |
| @"prelude:source" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiMetadataResult.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiNoneResult.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiNumberResult.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiStringResult.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiUdpDatagramResult.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:stdErr.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}, {})*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:stdIn.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}, {})*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File.pen:stdOut.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}, {})*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File/Metadata.pen:Metadata.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/File/OpenOptions.pen:OpenOptions.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/.pen/default/packages/fb4346304f4058b6/Udp/Datagram.pen:Datagram.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @"/arguments.pen:Arguments.$equal" = external global { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, i1)*, {}*, {}*, {}*)*, {} (i64)*, {} } | |
| @ByteString = linkonce constant { {} (i64)*, {} (i64)* } { {} (i64)* @variant_clone_ByteString, {} (i64)* @variant_drop_ByteString } | |
| @None = linkonce constant { {} (i64)*, {} (i64)* } { {} (i64)* @variant_clone_None, {} (i64)* @variant_drop_None } | |
| @Number = linkonce constant { {} (i64)*, {} (i64)* } { {} (i64)* @variant_clone_Number, {} (i64)* @variant_drop_Number } | |
| @"Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream\22 })" = linkonce constant { {} (i64)*, {} (i64)* } { {} (i64)* @"variant_clone_Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream\22 })", {} (i64)* @"variant_drop_Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream\22 })" } | |
| @"Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener\22 })" = linkonce constant { {} (i64)*, {} (i64)* } { {} (i64)* @"variant_clone_Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener\22 })", {} (i64)* @"variant_drop_Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener\22 })" } | |
| @"Record(Record { name: \22/arguments.pen:Arguments\22 })" = linkonce constant { {} (i64)*, {} (i64)* } { {} (i64)* @"variant_clone_Record(Record { name: \22/arguments.pen:Arguments\22 })", {} (i64)* @"variant_drop_Record(Record { name: \22/arguments.pen:Arguments\22 })" } | |
| @"Record(Record { name: \22prelude:error\22 })" = linkonce constant { {} (i64)*, {} (i64)* } { {} (i64)* @"variant_clone_Record(Record { name: \22prelude:error\22 })", {} (i64)* @"variant_drop_Record(Record { name: \22prelude:error\22 })" } | |
| @_fmm_294 = internal constant { i64, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 } { i64 13, i8 117, i8 110, i8 107, i8 110, i8 111, i8 119, i8 110, i8 32, i8 101, i8 114, i8 114, i8 111, i8 114 } | |
| @"/main.pen:main" = constant { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} } { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)* @_fmm_279, {} (i64)* @_fmm_29f, {} zeroinitializer } | |
| @"/main.pen:run" = constant { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} } { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)* @_fmm_2a1, {} (i64)* @_fmm_2cb, {} zeroinitializer } | |
| @"/main.pen:serve" = constant { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} } { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)* @_fmm_2cd, {} (i64)* @_fmm_333, {} zeroinitializer } | |
| @_pen_main__wrapper = constant { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} } { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)* @_fmm_335, {} (i64)* @_fmm_33e, {} zeroinitializer } | |
| declare i8* @_pen_malloc(i64) | |
| declare i8* @_pen_realloc(i8*, i64) | |
| declare void @_pen_free(i8*) | |
| declare void @_pen_unreachable() | |
| define linkonce {} @variant_clone_ByteString(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { { i64, i8 }*, [0 x i8] }* | |
| %7 = load { { i64, i8 }*, [0 x i8] }, { { i64, i8 }*, [0 x i8] }* %6, align 8 | |
| %_fmm_0 = extractvalue { { i64, i8 }*, [0 x i8] } %7, 0 | |
| %8 = ptrtoint { i64, i8 }* %_fmm_0 to i64 | |
| %9 = icmp ne i64 %8, 0 | |
| br i1 %9, label %then, label %else | |
| then: ; preds = %entry | |
| %10 = ptrtoint { i64, i8 }* %_fmm_0 to i64 | |
| %11 = and i64 %10, 1 | |
| %12 = icmp ne i64 %11, 1 | |
| br i1 %12, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_3 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %13 = ptrtoint { i64, i8 }* %_fmm_0 to i64 | |
| %14 = inttoptr i64 %13 to i64* | |
| %15 = getelementptr i64, i64* %14, i64 -1 | |
| %16 = atomicrmw add i64* %15, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_2 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @variant_drop_ByteString(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { { i64, i8 }*, [0 x i8] }* | |
| %7 = load { { i64, i8 }*, [0 x i8] }, { { i64, i8 }*, [0 x i8] }* %6, align 8 | |
| %_fmm_4 = extractvalue { { i64, i8 }*, [0 x i8] } %7, 0 | |
| %8 = ptrtoint { i64, i8 }* %_fmm_4 to i64 | |
| %9 = icmp ne i64 %8, 0 | |
| br i1 %9, label %then, label %else | |
| then: ; preds = %entry | |
| %10 = ptrtoint { i64, i8 }* %_fmm_4 to i64 | |
| %11 = and i64 %10, 1 | |
| %12 = icmp ne i64 %11, 1 | |
| br i1 %12, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_8 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %13 = ptrtoint { i64, i8 }* %_fmm_4 to i64 | |
| %14 = inttoptr i64 %13 to i64* | |
| %15 = getelementptr i64, i64* %14, i64 -1 | |
| %16 = atomicrmw sub i64* %15, i64 1 release, align 8 | |
| %17 = icmp eq i64 %16, 0 | |
| br i1 %17, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_7 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %18 = ptrtoint { i64, i8 }* %_fmm_4 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| %20 = ptrtoint i8* %19 to i64 | |
| %21 = inttoptr i64 %20 to i64* | |
| %22 = getelementptr i64, i64* %21, i64 -1 | |
| %23 = ptrtoint i64* %22 to i64 | |
| %24 = inttoptr i64 %23 to i8* | |
| call void @_pen_free(i8* %24) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_6 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @variant_clone_None(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { {}, [8 x i8] }* | |
| %7 = load { {}, [8 x i8] }, { {}, [8 x i8] }* %6, align 1 | |
| %_fmm_9 = extractvalue { {}, [8 x i8] } %7, 0 | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @variant_drop_None(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { {}, [8 x i8] }* | |
| %7 = load { {}, [8 x i8] }, { {}, [8 x i8] }* %6, align 1 | |
| %_fmm_a = extractvalue { {}, [8 x i8] } %7, 0 | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @variant_clone_Number(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { double, [0 x i8] }* | |
| %7 = load { double, [0 x i8] }, { double, [0 x i8] }* %6, align 8 | |
| %_fmm_b = extractvalue { double, [0 x i8] } %7, 0 | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @variant_drop_Number(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { double, [0 x i8] }* | |
| %7 = load { double, [0 x i8] }, { double, [0 x i8] }* %6, align 8 | |
| %_fmm_c = extractvalue { double, [0 x i8] } %7, 0 | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"variant_clone_Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream\22 })"(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { {}*, [0 x i8] }* | |
| %7 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %6, align 8 | |
| %_fmm_d = extractvalue { {}*, [0 x i8] } %7, 0 | |
| %_fmm_e = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream"({}* %_fmm_d) | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"variant_drop_Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream\22 })"(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { {}*, [0 x i8] }* | |
| %7 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %6, align 8 | |
| %_fmm_f = extractvalue { {}*, [0 x i8] } %7, 0 | |
| %_fmm_10 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream"({}* %_fmm_f) | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"variant_clone_Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener\22 })"(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { {}*, [0 x i8] }* | |
| %7 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %6, align 8 | |
| %_fmm_11 = extractvalue { {}*, [0 x i8] } %7, 0 | |
| %_fmm_12 = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener"({}* %_fmm_11) | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"variant_drop_Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener\22 })"(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { {}*, [0 x i8] }* | |
| %7 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %6, align 8 | |
| %_fmm_13 = extractvalue { {}*, [0 x i8] } %7, 0 | |
| %_fmm_14 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener"({}* %_fmm_13) | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"variant_clone_Record(Record { name: \22/arguments.pen:Arguments\22 })"(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { {}*, [0 x i8] }* | |
| %7 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %6, align 8 | |
| %_fmm_15 = extractvalue { {}*, [0 x i8] } %7, 0 | |
| %_fmm_16 = tail call {} @"mir_clone_/arguments.pen:Arguments"({}* %_fmm_15) | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"variant_drop_Record(Record { name: \22/arguments.pen:Arguments\22 })"(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { {}*, [0 x i8] }* | |
| %7 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %6, align 8 | |
| %_fmm_17 = extractvalue { {}*, [0 x i8] } %7, 0 | |
| %_fmm_18 = tail call {} @"mir_drop_/arguments.pen:Arguments"({}* %_fmm_17) | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"variant_clone_Record(Record { name: \22prelude:error\22 })"(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { {}*, [0 x i8] }* | |
| %7 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %6, align 8 | |
| %_fmm_19 = extractvalue { {}*, [0 x i8] } %7, 0 | |
| %_fmm_1a = tail call {} @"mir_clone_prelude:error"({}* %_fmm_19) | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"variant_drop_Record(Record { name: \22prelude:error\22 })"(i64 %0) { | |
| entry: | |
| %1 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %0, 0 | |
| %2 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %1, { i64, [0 x i8] }* %2, align 4 | |
| %3 = bitcast { i64, [0 x i8] }* %2 to { [1 x i64] }* | |
| %4 = load { [1 x i64] }, { [1 x i64] }* %3, align 4 | |
| %5 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %4, { [1 x i64] }* %5, align 4 | |
| %6 = bitcast { [1 x i64] }* %5 to { {}*, [0 x i8] }* | |
| %7 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %6, align 8 | |
| %_fmm_1b = extractvalue { {}*, [0 x i8] } %7, 0 | |
| %_fmm_1c = tail call {} @"mir_drop_prelude:error"({}* %_fmm_1b) | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1f = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_1e = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_26 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_25 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}* }* | |
| %_fmm_21 = load { {}* }, { {}* }* %12, align 8 | |
| %_fmm_22 = extractvalue { {}* } %_fmm_21, 0 | |
| %_fmm_23 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:InnerContext"({}* %_fmm_22) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to i8* | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to i64* | |
| %17 = getelementptr i64, i64* %16, i64 -1 | |
| %18 = ptrtoint i64* %17 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| call void @_pen_free(i8* %19) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_24 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiMetadataResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_29 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_28 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiMetadataResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_32 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_31 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}*, double }* | |
| %_fmm_2b = load { {}*, double }, { {}*, double }* %12, align 8 | |
| %_fmm_2c = extractvalue { {}*, double } %_fmm_2b, 0 | |
| %_fmm_2d = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/File/Metadata.pen:Metadata"({}* %_fmm_2c) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { {}*, double }* | |
| %_fmm_2e = load { {}*, double }, { {}*, double }* %14, align 8 | |
| %_fmm_2f = extractvalue { {}*, double } %_fmm_2e, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to i8* | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to i64* | |
| %19 = getelementptr i64, i64* %18, i64 -1 | |
| %20 = ptrtoint i64* %19 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| call void @_pen_free(i8* %21) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_30 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiNoneResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_35 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_34 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiNoneResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_3d = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_3c = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}, double }* | |
| %_fmm_37 = load { {}, double }, { {}, double }* %12, align 8 | |
| %_fmm_38 = extractvalue { {}, double } %_fmm_37, 0 | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { {}, double }* | |
| %_fmm_39 = load { {}, double }, { {}, double }* %14, align 8 | |
| %_fmm_3a = extractvalue { {}, double } %_fmm_39, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to i8* | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to i64* | |
| %19 = getelementptr i64, i64* %18, i64 -1 | |
| %20 = ptrtoint i64* %19 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| call void @_pen_free(i8* %21) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_3b = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiNumberResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_40 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_3f = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiNumberResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_48 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_47 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { double, double }* | |
| %_fmm_42 = load { double, double }, { double, double }* %12, align 8 | |
| %_fmm_43 = extractvalue { double, double } %_fmm_42, 0 | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { double, double }* | |
| %_fmm_44 = load { double, double }, { double, double }* %14, align 8 | |
| %_fmm_45 = extractvalue { double, double } %_fmm_44, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to i8* | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to i64* | |
| %19 = getelementptr i64, i64* %18, i64 -1 | |
| %20 = ptrtoint i64* %19 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| call void @_pen_free(i8* %21) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_46 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiOpenResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_4b = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_4a = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiOpenResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_54 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_53 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}*, double }* | |
| %_fmm_4d = load { {}*, double }, { {}*, double }* %12, align 8 | |
| %_fmm_4e = extractvalue { {}*, double } %_fmm_4d, 0 | |
| %_fmm_4f = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/normalFile.pen:NormalFile"({}* %_fmm_4e) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { {}*, double }* | |
| %_fmm_50 = load { {}*, double }, { {}*, double }* %14, align 8 | |
| %_fmm_51 = extractvalue { {}*, double } %_fmm_50, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to i8* | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to i64* | |
| %19 = getelementptr i64, i64* %18, i64 -1 | |
| %20 = ptrtoint i64* %19 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| call void @_pen_free(i8* %21) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_52 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiReadDirectoryResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_57 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_56 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiReadDirectoryResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_60 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_5f = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}*, double }* | |
| %_fmm_59 = load { {}*, double }, { {}*, double }* %12, align 8 | |
| %_fmm_5a = extractvalue { {}*, double } %_fmm_59, 0 | |
| %_fmm_5b = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/array.pen:Array"({}* %_fmm_5a) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { {}*, double }* | |
| %_fmm_5c = load { {}*, double }, { {}*, double }* %14, align 8 | |
| %_fmm_5d = extractvalue { {}*, double } %_fmm_5c, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to i8* | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to i64* | |
| %19 = getelementptr i64, i64* %18, i64 -1 | |
| %20 = ptrtoint i64* %19 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| call void @_pen_free(i8* %21) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_5e = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiStringResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_63 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_62 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiStringResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_6f = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_6e = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { i64, i8 }*, double }* | |
| %_fmm_65 = load { { i64, i8 }*, double }, { { i64, i8 }*, double }* %12, align 8 | |
| %_fmm_66 = extractvalue { { i64, i8 }*, double } %_fmm_65, 0 | |
| %13 = ptrtoint { i64, i8 }* %_fmm_66 to i64 | |
| %14 = icmp ne i64 %13, 0 | |
| br i1 %14, label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %phi9, %else5 | |
| %_fmm_6d = phi {} [ zeroinitializer, %phi9 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| then7: ; preds = %then4 | |
| %15 = ptrtoint { i64, i8 }* %_fmm_66 to i64 | |
| %16 = and i64 %15, 1 | |
| %17 = icmp ne i64 %16, 1 | |
| br i1 %17, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| br label %phi9 | |
| phi9: ; preds = %phi12, %else8 | |
| %_fmm_6a = phi {} [ zeroinitializer, %phi12 ], [ zeroinitializer, %else8 ] | |
| %18 = ptrtoint {}* %0 to i64 | |
| %19 = inttoptr i64 %18 to { { i64, i8 }*, double }* | |
| %_fmm_6b = load { { i64, i8 }*, double }, { { i64, i8 }*, double }* %19, align 8 | |
| %_fmm_6c = extractvalue { { i64, i8 }*, double } %_fmm_6b, 1 | |
| %20 = ptrtoint {}* %0 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| %22 = ptrtoint i8* %21 to i64 | |
| %23 = inttoptr i64 %22 to i64* | |
| %24 = getelementptr i64, i64* %23, i64 -1 | |
| %25 = ptrtoint i64* %24 to i64 | |
| %26 = inttoptr i64 %25 to i8* | |
| call void @_pen_free(i8* %26) | |
| br label %phi6 | |
| then10: ; preds = %then7 | |
| %27 = ptrtoint { i64, i8 }* %_fmm_66 to i64 | |
| %28 = inttoptr i64 %27 to i64* | |
| %29 = getelementptr i64, i64* %28, i64 -1 | |
| %30 = atomicrmw sub i64* %29, i64 1 release, align 8 | |
| %31 = icmp eq i64 %30, 0 | |
| br i1 %31, label %then13, label %else14 | |
| else11: ; preds = %then7 | |
| br label %phi12 | |
| phi12: ; preds = %phi15, %else11 | |
| %_fmm_69 = phi {} [ zeroinitializer, %phi15 ], [ zeroinitializer, %else11 ] | |
| br label %phi9 | |
| then13: ; preds = %then10 | |
| fence acquire | |
| %32 = ptrtoint { i64, i8 }* %_fmm_66 to i64 | |
| %33 = inttoptr i64 %32 to i8* | |
| %34 = ptrtoint i8* %33 to i64 | |
| %35 = inttoptr i64 %34 to i64* | |
| %36 = getelementptr i64, i64* %35, i64 -1 | |
| %37 = ptrtoint i64* %36 to i64 | |
| %38 = inttoptr i64 %37 to i8* | |
| call void @_pen_free(i8* %38) | |
| br label %phi15 | |
| else14: ; preds = %then10 | |
| br label %phi15 | |
| phi15: ; preds = %else14, %then13 | |
| %_fmm_68 = phi {} [ zeroinitializer, %then13 ], [ zeroinitializer, %else14 ] | |
| br label %phi12 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiTcpAcceptedStreamResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_72 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_71 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiTcpAcceptedStreamResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_7b = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_7a = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}*, double }* | |
| %_fmm_74 = load { {}*, double }, { {}*, double }* %12, align 8 | |
| %_fmm_75 = extractvalue { {}*, double } %_fmm_74, 0 | |
| %_fmm_76 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream"({}* %_fmm_75) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { {}*, double }* | |
| %_fmm_77 = load { {}*, double }, { {}*, double }* %14, align 8 | |
| %_fmm_78 = extractvalue { {}*, double } %_fmm_77, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to i8* | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to i64* | |
| %19 = getelementptr i64, i64* %18, i64 -1 | |
| %20 = ptrtoint i64* %19 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| call void @_pen_free(i8* %21) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_79 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiTcpListenerResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_7e = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_7d = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiTcpListenerResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_87 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_86 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}*, double }* | |
| %_fmm_80 = load { {}*, double }, { {}*, double }* %12, align 8 | |
| %_fmm_81 = extractvalue { {}*, double } %_fmm_80, 0 | |
| %_fmm_82 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener"({}* %_fmm_81) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { {}*, double }* | |
| %_fmm_83 = load { {}*, double }, { {}*, double }* %14, align 8 | |
| %_fmm_84 = extractvalue { {}*, double } %_fmm_83, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to i8* | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to i64* | |
| %19 = getelementptr i64, i64* %18, i64 -1 | |
| %20 = ptrtoint i64* %19 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| call void @_pen_free(i8* %21) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_85 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiTcpStreamResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_8a = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_89 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiTcpStreamResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_93 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_92 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}*, double }* | |
| %_fmm_8c = load { {}*, double }, { {}*, double }* %12, align 8 | |
| %_fmm_8d = extractvalue { {}*, double } %_fmm_8c, 0 | |
| %_fmm_8e = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/Stream.pen:Stream"({}* %_fmm_8d) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { {}*, double }* | |
| %_fmm_8f = load { {}*, double }, { {}*, double }* %14, align 8 | |
| %_fmm_90 = extractvalue { {}*, double } %_fmm_8f, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to i8* | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to i64* | |
| %19 = getelementptr i64, i64* %18, i64 -1 | |
| %20 = ptrtoint i64* %19 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| call void @_pen_free(i8* %21) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_91 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiUdpDatagramResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_96 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_95 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiUdpDatagramResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_9f = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_9e = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}*, double }* | |
| %_fmm_98 = load { {}*, double }, { {}*, double }* %12, align 8 | |
| %_fmm_99 = extractvalue { {}*, double } %_fmm_98, 0 | |
| %_fmm_9a = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Udp/Datagram.pen:Datagram"({}* %_fmm_99) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { {}*, double }* | |
| %_fmm_9b = load { {}*, double }, { {}*, double }* %14, align 8 | |
| %_fmm_9c = extractvalue { {}*, double } %_fmm_9b, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to i8* | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to i64* | |
| %19 = getelementptr i64, i64* %18, i64 -1 | |
| %20 = ptrtoint i64* %19 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| call void @_pen_free(i8* %21) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_9d = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiUdpSocketResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_a2 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_a1 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:FfiUdpSocketResult"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_ab = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_aa = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}*, double }* | |
| %_fmm_a4 = load { {}*, double }, { {}*, double }* %12, align 8 | |
| %_fmm_a5 = extractvalue { {}*, double } %_fmm_a4, 0 | |
| %_fmm_a6 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Udp/Socket.pen:Socket"({}* %_fmm_a5) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { {}*, double }* | |
| %_fmm_a7 = load { {}*, double }, { {}*, double }* %14, align 8 | |
| %_fmm_a8 = extractvalue { {}*, double } %_fmm_a7, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to i8* | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to i64* | |
| %19 = getelementptr i64, i64* %18, i64 -1 | |
| %20 = ptrtoint i64* %19 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| call void @_pen_free(i8* %21) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_a9 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:InnerContext"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_ae = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_ad = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:InnerContext"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_192 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_191 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_b0 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %12, align 8 | |
| %_fmm_b1 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_b0, 0 | |
| %13 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_b1 to i64 | |
| %14 = icmp ne i64 %13, 0 | |
| br i1 %14, label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %phi252, %else5 | |
| %_fmm_190 = phi {} [ zeroinitializer, %phi252 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| then7: ; preds = %then4 | |
| %15 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_b1 to i64 | |
| %16 = and i64 %15, 1 | |
| %17 = icmp ne i64 %16, 1 | |
| br i1 %17, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| br label %phi9 | |
| phi9: ; preds = %phi12, %else8 | |
| %_fmm_b7 = phi {} [ zeroinitializer, %phi12 ], [ zeroinitializer, %else8 ] | |
| %18 = ptrtoint {}* %0 to i64 | |
| %19 = inttoptr i64 %18 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_b8 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %19, align 8 | |
| %_fmm_b9 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_b8, 1 | |
| %20 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }* %_fmm_b9 to i64 | |
| %21 = icmp ne i64 %20, 0 | |
| br i1 %21, label %then16, label %else17 | |
| then10: ; preds = %then7 | |
| %22 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_b1 to i64 | |
| %23 = inttoptr i64 %22 to i64* | |
| %24 = getelementptr i64, i64* %23, i64 -1 | |
| %25 = atomicrmw sub i64* %24, i64 1 release, align 8 | |
| %26 = icmp eq i64 %25, 0 | |
| br i1 %26, label %then13, label %else14 | |
| else11: ; preds = %then7 | |
| br label %phi12 | |
| phi12: ; preds = %phi15, %else11 | |
| %_fmm_b6 = phi {} [ zeroinitializer, %phi15 ], [ zeroinitializer, %else11 ] | |
| br label %phi9 | |
| then13: ; preds = %then10 | |
| fence acquire | |
| %27 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_b1 to i64 | |
| %28 = and i64 %27, -2 | |
| %29 = inttoptr i64 %28 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* | |
| %30 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %29, i32 0, i32 1 | |
| %_fmm_b3 = load {} (i64)*, {} (i64)** %30, align 8 | |
| %31 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_b1 to i64 | |
| %_fmm_b4 = tail call {} %_fmm_b3(i64 %31) | |
| %32 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_b1 to i64 | |
| %33 = inttoptr i64 %32 to i8* | |
| %34 = ptrtoint i8* %33 to i64 | |
| %35 = inttoptr i64 %34 to i64* | |
| %36 = getelementptr i64, i64* %35, i64 -1 | |
| %37 = ptrtoint i64* %36 to i64 | |
| %38 = inttoptr i64 %37 to i8* | |
| call void @_pen_free(i8* %38) | |
| br label %phi15 | |
| else14: ; preds = %then10 | |
| br label %phi15 | |
| phi15: ; preds = %else14, %then13 | |
| %_fmm_b5 = phi {} [ zeroinitializer, %then13 ], [ zeroinitializer, %else14 ] | |
| br label %phi12 | |
| then16: ; preds = %phi9 | |
| %39 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }* %_fmm_b9 to i64 | |
| %40 = and i64 %39, 1 | |
| %41 = icmp ne i64 %40, 1 | |
| br i1 %41, label %then19, label %else20 | |
| else17: ; preds = %phi9 | |
| br label %phi18 | |
| phi18: ; preds = %phi21, %else17 | |
| %_fmm_bf = phi {} [ zeroinitializer, %phi21 ], [ zeroinitializer, %else17 ] | |
| %42 = ptrtoint {}* %0 to i64 | |
| %43 = inttoptr i64 %42 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_c0 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %43, align 8 | |
| %_fmm_c1 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_c0, 2 | |
| %44 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c1 to i64 | |
| %45 = icmp ne i64 %44, 0 | |
| br i1 %45, label %then25, label %else26 | |
| then19: ; preds = %then16 | |
| %46 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }* %_fmm_b9 to i64 | |
| %47 = inttoptr i64 %46 to i64* | |
| %48 = getelementptr i64, i64* %47, i64 -1 | |
| %49 = atomicrmw sub i64* %48, i64 1 release, align 8 | |
| %50 = icmp eq i64 %49, 0 | |
| br i1 %50, label %then22, label %else23 | |
| else20: ; preds = %then16 | |
| br label %phi21 | |
| phi21: ; preds = %phi24, %else20 | |
| %_fmm_be = phi {} [ zeroinitializer, %phi24 ], [ zeroinitializer, %else20 ] | |
| br label %phi18 | |
| then22: ; preds = %then19 | |
| fence acquire | |
| %51 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }* %_fmm_b9 to i64 | |
| %52 = and i64 %51, -2 | |
| %53 = inttoptr i64 %52 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }* | |
| %54 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }* %53, i32 0, i32 1 | |
| %_fmm_bb = load {} (i64)*, {} (i64)** %54, align 8 | |
| %55 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }* %_fmm_b9 to i64 | |
| %_fmm_bc = tail call {} %_fmm_bb(i64 %55) | |
| %56 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }* %_fmm_b9 to i64 | |
| %57 = inttoptr i64 %56 to i8* | |
| %58 = ptrtoint i8* %57 to i64 | |
| %59 = inttoptr i64 %58 to i64* | |
| %60 = getelementptr i64, i64* %59, i64 -1 | |
| %61 = ptrtoint i64* %60 to i64 | |
| %62 = inttoptr i64 %61 to i8* | |
| call void @_pen_free(i8* %62) | |
| br label %phi24 | |
| else23: ; preds = %then19 | |
| br label %phi24 | |
| phi24: ; preds = %else23, %then22 | |
| %_fmm_bd = phi {} [ zeroinitializer, %then22 ], [ zeroinitializer, %else23 ] | |
| br label %phi21 | |
| then25: ; preds = %phi18 | |
| %63 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c1 to i64 | |
| %64 = and i64 %63, 1 | |
| %65 = icmp ne i64 %64, 1 | |
| br i1 %65, label %then28, label %else29 | |
| else26: ; preds = %phi18 | |
| br label %phi27 | |
| phi27: ; preds = %phi30, %else26 | |
| %_fmm_c7 = phi {} [ zeroinitializer, %phi30 ], [ zeroinitializer, %else26 ] | |
| %66 = ptrtoint {}* %0 to i64 | |
| %67 = inttoptr i64 %66 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_c8 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %67, align 8 | |
| %_fmm_c9 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_c8, 3 | |
| %68 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c9 to i64 | |
| %69 = icmp ne i64 %68, 0 | |
| br i1 %69, label %then34, label %else35 | |
| then28: ; preds = %then25 | |
| %70 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c1 to i64 | |
| %71 = inttoptr i64 %70 to i64* | |
| %72 = getelementptr i64, i64* %71, i64 -1 | |
| %73 = atomicrmw sub i64* %72, i64 1 release, align 8 | |
| %74 = icmp eq i64 %73, 0 | |
| br i1 %74, label %then31, label %else32 | |
| else29: ; preds = %then25 | |
| br label %phi30 | |
| phi30: ; preds = %phi33, %else29 | |
| %_fmm_c6 = phi {} [ zeroinitializer, %phi33 ], [ zeroinitializer, %else29 ] | |
| br label %phi27 | |
| then31: ; preds = %then28 | |
| fence acquire | |
| %75 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c1 to i64 | |
| %76 = and i64 %75, -2 | |
| %77 = inttoptr i64 %76 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %78 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %77, i32 0, i32 1 | |
| %_fmm_c3 = load {} (i64)*, {} (i64)** %78, align 8 | |
| %79 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c1 to i64 | |
| %_fmm_c4 = tail call {} %_fmm_c3(i64 %79) | |
| %80 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c1 to i64 | |
| %81 = inttoptr i64 %80 to i8* | |
| %82 = ptrtoint i8* %81 to i64 | |
| %83 = inttoptr i64 %82 to i64* | |
| %84 = getelementptr i64, i64* %83, i64 -1 | |
| %85 = ptrtoint i64* %84 to i64 | |
| %86 = inttoptr i64 %85 to i8* | |
| call void @_pen_free(i8* %86) | |
| br label %phi33 | |
| else32: ; preds = %then28 | |
| br label %phi33 | |
| phi33: ; preds = %else32, %then31 | |
| %_fmm_c5 = phi {} [ zeroinitializer, %then31 ], [ zeroinitializer, %else32 ] | |
| br label %phi30 | |
| then34: ; preds = %phi27 | |
| %87 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c9 to i64 | |
| %88 = and i64 %87, 1 | |
| %89 = icmp ne i64 %88, 1 | |
| br i1 %89, label %then37, label %else38 | |
| else35: ; preds = %phi27 | |
| br label %phi36 | |
| phi36: ; preds = %phi39, %else35 | |
| %_fmm_cf = phi {} [ zeroinitializer, %phi39 ], [ zeroinitializer, %else35 ] | |
| %90 = ptrtoint {}* %0 to i64 | |
| %91 = inttoptr i64 %90 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_d0 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %91, align 8 | |
| %_fmm_d1 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_d0, 4 | |
| %92 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }* %_fmm_d1 to i64 | |
| %93 = icmp ne i64 %92, 0 | |
| br i1 %93, label %then43, label %else44 | |
| then37: ; preds = %then34 | |
| %94 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c9 to i64 | |
| %95 = inttoptr i64 %94 to i64* | |
| %96 = getelementptr i64, i64* %95, i64 -1 | |
| %97 = atomicrmw sub i64* %96, i64 1 release, align 8 | |
| %98 = icmp eq i64 %97, 0 | |
| br i1 %98, label %then40, label %else41 | |
| else38: ; preds = %then34 | |
| br label %phi39 | |
| phi39: ; preds = %phi42, %else38 | |
| %_fmm_ce = phi {} [ zeroinitializer, %phi42 ], [ zeroinitializer, %else38 ] | |
| br label %phi36 | |
| then40: ; preds = %then37 | |
| fence acquire | |
| %99 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c9 to i64 | |
| %100 = and i64 %99, -2 | |
| %101 = inttoptr i64 %100 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %102 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %101, i32 0, i32 1 | |
| %_fmm_cb = load {} (i64)*, {} (i64)** %102, align 8 | |
| %103 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c9 to i64 | |
| %_fmm_cc = tail call {} %_fmm_cb(i64 %103) | |
| %104 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_c9 to i64 | |
| %105 = inttoptr i64 %104 to i8* | |
| %106 = ptrtoint i8* %105 to i64 | |
| %107 = inttoptr i64 %106 to i64* | |
| %108 = getelementptr i64, i64* %107, i64 -1 | |
| %109 = ptrtoint i64* %108 to i64 | |
| %110 = inttoptr i64 %109 to i8* | |
| call void @_pen_free(i8* %110) | |
| br label %phi42 | |
| else41: ; preds = %then37 | |
| br label %phi42 | |
| phi42: ; preds = %else41, %then40 | |
| %_fmm_cd = phi {} [ zeroinitializer, %then40 ], [ zeroinitializer, %else41 ] | |
| br label %phi39 | |
| then43: ; preds = %phi36 | |
| %111 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }* %_fmm_d1 to i64 | |
| %112 = and i64 %111, 1 | |
| %113 = icmp ne i64 %112, 1 | |
| br i1 %113, label %then46, label %else47 | |
| else44: ; preds = %phi36 | |
| br label %phi45 | |
| phi45: ; preds = %phi48, %else44 | |
| %_fmm_d7 = phi {} [ zeroinitializer, %phi48 ], [ zeroinitializer, %else44 ] | |
| %114 = ptrtoint {}* %0 to i64 | |
| %115 = inttoptr i64 %114 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_d8 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %115, align 8 | |
| %_fmm_d9 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_d8, 5 | |
| %116 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_d9 to i64 | |
| %117 = icmp ne i64 %116, 0 | |
| br i1 %117, label %then52, label %else53 | |
| then46: ; preds = %then43 | |
| %118 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }* %_fmm_d1 to i64 | |
| %119 = inttoptr i64 %118 to i64* | |
| %120 = getelementptr i64, i64* %119, i64 -1 | |
| %121 = atomicrmw sub i64* %120, i64 1 release, align 8 | |
| %122 = icmp eq i64 %121, 0 | |
| br i1 %122, label %then49, label %else50 | |
| else47: ; preds = %then43 | |
| br label %phi48 | |
| phi48: ; preds = %phi51, %else47 | |
| %_fmm_d6 = phi {} [ zeroinitializer, %phi51 ], [ zeroinitializer, %else47 ] | |
| br label %phi45 | |
| then49: ; preds = %then46 | |
| fence acquire | |
| %123 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }* %_fmm_d1 to i64 | |
| %124 = and i64 %123, -2 | |
| %125 = inttoptr i64 %124 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }* | |
| %126 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }* %125, i32 0, i32 1 | |
| %_fmm_d3 = load {} (i64)*, {} (i64)** %126, align 8 | |
| %127 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }* %_fmm_d1 to i64 | |
| %_fmm_d4 = tail call {} %_fmm_d3(i64 %127) | |
| %128 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }* %_fmm_d1 to i64 | |
| %129 = inttoptr i64 %128 to i8* | |
| %130 = ptrtoint i8* %129 to i64 | |
| %131 = inttoptr i64 %130 to i64* | |
| %132 = getelementptr i64, i64* %131, i64 -1 | |
| %133 = ptrtoint i64* %132 to i64 | |
| %134 = inttoptr i64 %133 to i8* | |
| call void @_pen_free(i8* %134) | |
| br label %phi51 | |
| else50: ; preds = %then46 | |
| br label %phi51 | |
| phi51: ; preds = %else50, %then49 | |
| %_fmm_d5 = phi {} [ zeroinitializer, %then49 ], [ zeroinitializer, %else50 ] | |
| br label %phi48 | |
| then52: ; preds = %phi45 | |
| %135 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_d9 to i64 | |
| %136 = and i64 %135, 1 | |
| %137 = icmp ne i64 %136, 1 | |
| br i1 %137, label %then55, label %else56 | |
| else53: ; preds = %phi45 | |
| br label %phi54 | |
| phi54: ; preds = %phi57, %else53 | |
| %_fmm_df = phi {} [ zeroinitializer, %phi57 ], [ zeroinitializer, %else53 ] | |
| %138 = ptrtoint {}* %0 to i64 | |
| %139 = inttoptr i64 %138 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_e0 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %139, align 8 | |
| %_fmm_e1 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_e0, 6 | |
| %140 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_e1 to i64 | |
| %141 = icmp ne i64 %140, 0 | |
| br i1 %141, label %then61, label %else62 | |
| then55: ; preds = %then52 | |
| %142 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_d9 to i64 | |
| %143 = inttoptr i64 %142 to i64* | |
| %144 = getelementptr i64, i64* %143, i64 -1 | |
| %145 = atomicrmw sub i64* %144, i64 1 release, align 8 | |
| %146 = icmp eq i64 %145, 0 | |
| br i1 %146, label %then58, label %else59 | |
| else56: ; preds = %then52 | |
| br label %phi57 | |
| phi57: ; preds = %phi60, %else56 | |
| %_fmm_de = phi {} [ zeroinitializer, %phi60 ], [ zeroinitializer, %else56 ] | |
| br label %phi54 | |
| then58: ; preds = %then55 | |
| fence acquire | |
| %147 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_d9 to i64 | |
| %148 = and i64 %147, -2 | |
| %149 = inttoptr i64 %148 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* | |
| %150 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %149, i32 0, i32 1 | |
| %_fmm_db = load {} (i64)*, {} (i64)** %150, align 8 | |
| %151 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_d9 to i64 | |
| %_fmm_dc = tail call {} %_fmm_db(i64 %151) | |
| %152 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_d9 to i64 | |
| %153 = inttoptr i64 %152 to i8* | |
| %154 = ptrtoint i8* %153 to i64 | |
| %155 = inttoptr i64 %154 to i64* | |
| %156 = getelementptr i64, i64* %155, i64 -1 | |
| %157 = ptrtoint i64* %156 to i64 | |
| %158 = inttoptr i64 %157 to i8* | |
| call void @_pen_free(i8* %158) | |
| br label %phi60 | |
| else59: ; preds = %then55 | |
| br label %phi60 | |
| phi60: ; preds = %else59, %then58 | |
| %_fmm_dd = phi {} [ zeroinitializer, %then58 ], [ zeroinitializer, %else59 ] | |
| br label %phi57 | |
| then61: ; preds = %phi54 | |
| %159 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_e1 to i64 | |
| %160 = and i64 %159, 1 | |
| %161 = icmp ne i64 %160, 1 | |
| br i1 %161, label %then64, label %else65 | |
| else62: ; preds = %phi54 | |
| br label %phi63 | |
| phi63: ; preds = %phi66, %else62 | |
| %_fmm_e7 = phi {} [ zeroinitializer, %phi66 ], [ zeroinitializer, %else62 ] | |
| %162 = ptrtoint {}* %0 to i64 | |
| %163 = inttoptr i64 %162 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_e8 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %163, align 8 | |
| %_fmm_e9 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_e8, 7 | |
| %164 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_e9 to i64 | |
| %165 = icmp ne i64 %164, 0 | |
| br i1 %165, label %then70, label %else71 | |
| then64: ; preds = %then61 | |
| %166 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_e1 to i64 | |
| %167 = inttoptr i64 %166 to i64* | |
| %168 = getelementptr i64, i64* %167, i64 -1 | |
| %169 = atomicrmw sub i64* %168, i64 1 release, align 8 | |
| %170 = icmp eq i64 %169, 0 | |
| br i1 %170, label %then67, label %else68 | |
| else65: ; preds = %then61 | |
| br label %phi66 | |
| phi66: ; preds = %phi69, %else65 | |
| %_fmm_e6 = phi {} [ zeroinitializer, %phi69 ], [ zeroinitializer, %else65 ] | |
| br label %phi63 | |
| then67: ; preds = %then64 | |
| fence acquire | |
| %171 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_e1 to i64 | |
| %172 = and i64 %171, -2 | |
| %173 = inttoptr i64 %172 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* | |
| %174 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %173, i32 0, i32 1 | |
| %_fmm_e3 = load {} (i64)*, {} (i64)** %174, align 8 | |
| %175 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_e1 to i64 | |
| %_fmm_e4 = tail call {} %_fmm_e3(i64 %175) | |
| %176 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_e1 to i64 | |
| %177 = inttoptr i64 %176 to i8* | |
| %178 = ptrtoint i8* %177 to i64 | |
| %179 = inttoptr i64 %178 to i64* | |
| %180 = getelementptr i64, i64* %179, i64 -1 | |
| %181 = ptrtoint i64* %180 to i64 | |
| %182 = inttoptr i64 %181 to i8* | |
| call void @_pen_free(i8* %182) | |
| br label %phi69 | |
| else68: ; preds = %then64 | |
| br label %phi69 | |
| phi69: ; preds = %else68, %then67 | |
| %_fmm_e5 = phi {} [ zeroinitializer, %then67 ], [ zeroinitializer, %else68 ] | |
| br label %phi66 | |
| then70: ; preds = %phi63 | |
| %183 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_e9 to i64 | |
| %184 = and i64 %183, 1 | |
| %185 = icmp ne i64 %184, 1 | |
| br i1 %185, label %then73, label %else74 | |
| else71: ; preds = %phi63 | |
| br label %phi72 | |
| phi72: ; preds = %phi75, %else71 | |
| %_fmm_ef = phi {} [ zeroinitializer, %phi75 ], [ zeroinitializer, %else71 ] | |
| %186 = ptrtoint {}* %0 to i64 | |
| %187 = inttoptr i64 %186 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_f0 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %187, align 8 | |
| %_fmm_f1 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_f0, 8 | |
| %188 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f1 to i64 | |
| %189 = icmp ne i64 %188, 0 | |
| br i1 %189, label %then79, label %else80 | |
| then73: ; preds = %then70 | |
| %190 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_e9 to i64 | |
| %191 = inttoptr i64 %190 to i64* | |
| %192 = getelementptr i64, i64* %191, i64 -1 | |
| %193 = atomicrmw sub i64* %192, i64 1 release, align 8 | |
| %194 = icmp eq i64 %193, 0 | |
| br i1 %194, label %then76, label %else77 | |
| else74: ; preds = %then70 | |
| br label %phi75 | |
| phi75: ; preds = %phi78, %else74 | |
| %_fmm_ee = phi {} [ zeroinitializer, %phi78 ], [ zeroinitializer, %else74 ] | |
| br label %phi72 | |
| then76: ; preds = %then73 | |
| fence acquire | |
| %195 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_e9 to i64 | |
| %196 = and i64 %195, -2 | |
| %197 = inttoptr i64 %196 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %198 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %197, i32 0, i32 1 | |
| %_fmm_eb = load {} (i64)*, {} (i64)** %198, align 8 | |
| %199 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_e9 to i64 | |
| %_fmm_ec = tail call {} %_fmm_eb(i64 %199) | |
| %200 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_e9 to i64 | |
| %201 = inttoptr i64 %200 to i8* | |
| %202 = ptrtoint i8* %201 to i64 | |
| %203 = inttoptr i64 %202 to i64* | |
| %204 = getelementptr i64, i64* %203, i64 -1 | |
| %205 = ptrtoint i64* %204 to i64 | |
| %206 = inttoptr i64 %205 to i8* | |
| call void @_pen_free(i8* %206) | |
| br label %phi78 | |
| else77: ; preds = %then73 | |
| br label %phi78 | |
| phi78: ; preds = %else77, %then76 | |
| %_fmm_ed = phi {} [ zeroinitializer, %then76 ], [ zeroinitializer, %else77 ] | |
| br label %phi75 | |
| then79: ; preds = %phi72 | |
| %207 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f1 to i64 | |
| %208 = and i64 %207, 1 | |
| %209 = icmp ne i64 %208, 1 | |
| br i1 %209, label %then82, label %else83 | |
| else80: ; preds = %phi72 | |
| br label %phi81 | |
| phi81: ; preds = %phi84, %else80 | |
| %_fmm_f7 = phi {} [ zeroinitializer, %phi84 ], [ zeroinitializer, %else80 ] | |
| %210 = ptrtoint {}* %0 to i64 | |
| %211 = inttoptr i64 %210 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_f8 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %211, align 8 | |
| %_fmm_f9 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_f8, 9 | |
| %212 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f9 to i64 | |
| %213 = icmp ne i64 %212, 0 | |
| br i1 %213, label %then88, label %else89 | |
| then82: ; preds = %then79 | |
| %214 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f1 to i64 | |
| %215 = inttoptr i64 %214 to i64* | |
| %216 = getelementptr i64, i64* %215, i64 -1 | |
| %217 = atomicrmw sub i64* %216, i64 1 release, align 8 | |
| %218 = icmp eq i64 %217, 0 | |
| br i1 %218, label %then85, label %else86 | |
| else83: ; preds = %then79 | |
| br label %phi84 | |
| phi84: ; preds = %phi87, %else83 | |
| %_fmm_f6 = phi {} [ zeroinitializer, %phi87 ], [ zeroinitializer, %else83 ] | |
| br label %phi81 | |
| then85: ; preds = %then82 | |
| fence acquire | |
| %219 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f1 to i64 | |
| %220 = and i64 %219, -2 | |
| %221 = inttoptr i64 %220 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %222 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %221, i32 0, i32 1 | |
| %_fmm_f3 = load {} (i64)*, {} (i64)** %222, align 8 | |
| %223 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f1 to i64 | |
| %_fmm_f4 = tail call {} %_fmm_f3(i64 %223) | |
| %224 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f1 to i64 | |
| %225 = inttoptr i64 %224 to i8* | |
| %226 = ptrtoint i8* %225 to i64 | |
| %227 = inttoptr i64 %226 to i64* | |
| %228 = getelementptr i64, i64* %227, i64 -1 | |
| %229 = ptrtoint i64* %228 to i64 | |
| %230 = inttoptr i64 %229 to i8* | |
| call void @_pen_free(i8* %230) | |
| br label %phi87 | |
| else86: ; preds = %then82 | |
| br label %phi87 | |
| phi87: ; preds = %else86, %then85 | |
| %_fmm_f5 = phi {} [ zeroinitializer, %then85 ], [ zeroinitializer, %else86 ] | |
| br label %phi84 | |
| then88: ; preds = %phi81 | |
| %231 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f9 to i64 | |
| %232 = and i64 %231, 1 | |
| %233 = icmp ne i64 %232, 1 | |
| br i1 %233, label %then91, label %else92 | |
| else89: ; preds = %phi81 | |
| br label %phi90 | |
| phi90: ; preds = %phi93, %else89 | |
| %_fmm_ff = phi {} [ zeroinitializer, %phi93 ], [ zeroinitializer, %else89 ] | |
| %234 = ptrtoint {}* %0 to i64 | |
| %235 = inttoptr i64 %234 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_100 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %235, align 8 | |
| %_fmm_101 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_100, 10 | |
| %236 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_101 to i64 | |
| %237 = icmp ne i64 %236, 0 | |
| br i1 %237, label %then97, label %else98 | |
| then91: ; preds = %then88 | |
| %238 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f9 to i64 | |
| %239 = inttoptr i64 %238 to i64* | |
| %240 = getelementptr i64, i64* %239, i64 -1 | |
| %241 = atomicrmw sub i64* %240, i64 1 release, align 8 | |
| %242 = icmp eq i64 %241, 0 | |
| br i1 %242, label %then94, label %else95 | |
| else92: ; preds = %then88 | |
| br label %phi93 | |
| phi93: ; preds = %phi96, %else92 | |
| %_fmm_fe = phi {} [ zeroinitializer, %phi96 ], [ zeroinitializer, %else92 ] | |
| br label %phi90 | |
| then94: ; preds = %then91 | |
| fence acquire | |
| %243 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f9 to i64 | |
| %244 = and i64 %243, -2 | |
| %245 = inttoptr i64 %244 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %246 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %245, i32 0, i32 1 | |
| %_fmm_fb = load {} (i64)*, {} (i64)** %246, align 8 | |
| %247 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f9 to i64 | |
| %_fmm_fc = tail call {} %_fmm_fb(i64 %247) | |
| %248 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_f9 to i64 | |
| %249 = inttoptr i64 %248 to i8* | |
| %250 = ptrtoint i8* %249 to i64 | |
| %251 = inttoptr i64 %250 to i64* | |
| %252 = getelementptr i64, i64* %251, i64 -1 | |
| %253 = ptrtoint i64* %252 to i64 | |
| %254 = inttoptr i64 %253 to i8* | |
| call void @_pen_free(i8* %254) | |
| br label %phi96 | |
| else95: ; preds = %then91 | |
| br label %phi96 | |
| phi96: ; preds = %else95, %then94 | |
| %_fmm_fd = phi {} [ zeroinitializer, %then94 ], [ zeroinitializer, %else95 ] | |
| br label %phi93 | |
| then97: ; preds = %phi90 | |
| %255 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_101 to i64 | |
| %256 = and i64 %255, 1 | |
| %257 = icmp ne i64 %256, 1 | |
| br i1 %257, label %then100, label %else101 | |
| else98: ; preds = %phi90 | |
| br label %phi99 | |
| phi99: ; preds = %phi102, %else98 | |
| %_fmm_107 = phi {} [ zeroinitializer, %phi102 ], [ zeroinitializer, %else98 ] | |
| %258 = ptrtoint {}* %0 to i64 | |
| %259 = inttoptr i64 %258 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_108 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %259, align 8 | |
| %_fmm_109 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_108, 11 | |
| %260 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_109 to i64 | |
| %261 = icmp ne i64 %260, 0 | |
| br i1 %261, label %then106, label %else107 | |
| then100: ; preds = %then97 | |
| %262 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_101 to i64 | |
| %263 = inttoptr i64 %262 to i64* | |
| %264 = getelementptr i64, i64* %263, i64 -1 | |
| %265 = atomicrmw sub i64* %264, i64 1 release, align 8 | |
| %266 = icmp eq i64 %265, 0 | |
| br i1 %266, label %then103, label %else104 | |
| else101: ; preds = %then97 | |
| br label %phi102 | |
| phi102: ; preds = %phi105, %else101 | |
| %_fmm_106 = phi {} [ zeroinitializer, %phi105 ], [ zeroinitializer, %else101 ] | |
| br label %phi99 | |
| then103: ; preds = %then100 | |
| fence acquire | |
| %267 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_101 to i64 | |
| %268 = and i64 %267, -2 | |
| %269 = inttoptr i64 %268 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %270 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %269, i32 0, i32 1 | |
| %_fmm_103 = load {} (i64)*, {} (i64)** %270, align 8 | |
| %271 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_101 to i64 | |
| %_fmm_104 = tail call {} %_fmm_103(i64 %271) | |
| %272 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_101 to i64 | |
| %273 = inttoptr i64 %272 to i8* | |
| %274 = ptrtoint i8* %273 to i64 | |
| %275 = inttoptr i64 %274 to i64* | |
| %276 = getelementptr i64, i64* %275, i64 -1 | |
| %277 = ptrtoint i64* %276 to i64 | |
| %278 = inttoptr i64 %277 to i8* | |
| call void @_pen_free(i8* %278) | |
| br label %phi105 | |
| else104: ; preds = %then100 | |
| br label %phi105 | |
| phi105: ; preds = %else104, %then103 | |
| %_fmm_105 = phi {} [ zeroinitializer, %then103 ], [ zeroinitializer, %else104 ] | |
| br label %phi102 | |
| then106: ; preds = %phi99 | |
| %279 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_109 to i64 | |
| %280 = and i64 %279, 1 | |
| %281 = icmp ne i64 %280, 1 | |
| br i1 %281, label %then109, label %else110 | |
| else107: ; preds = %phi99 | |
| br label %phi108 | |
| phi108: ; preds = %phi111, %else107 | |
| %_fmm_10f = phi {} [ zeroinitializer, %phi111 ], [ zeroinitializer, %else107 ] | |
| %282 = ptrtoint {}* %0 to i64 | |
| %283 = inttoptr i64 %282 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_110 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %283, align 8 | |
| %_fmm_111 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_110, 12 | |
| %284 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_111 to i64 | |
| %285 = icmp ne i64 %284, 0 | |
| br i1 %285, label %then115, label %else116 | |
| then109: ; preds = %then106 | |
| %286 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_109 to i64 | |
| %287 = inttoptr i64 %286 to i64* | |
| %288 = getelementptr i64, i64* %287, i64 -1 | |
| %289 = atomicrmw sub i64* %288, i64 1 release, align 8 | |
| %290 = icmp eq i64 %289, 0 | |
| br i1 %290, label %then112, label %else113 | |
| else110: ; preds = %then106 | |
| br label %phi111 | |
| phi111: ; preds = %phi114, %else110 | |
| %_fmm_10e = phi {} [ zeroinitializer, %phi114 ], [ zeroinitializer, %else110 ] | |
| br label %phi108 | |
| then112: ; preds = %then109 | |
| fence acquire | |
| %291 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_109 to i64 | |
| %292 = and i64 %291, -2 | |
| %293 = inttoptr i64 %292 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %294 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %293, i32 0, i32 1 | |
| %_fmm_10b = load {} (i64)*, {} (i64)** %294, align 8 | |
| %295 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_109 to i64 | |
| %_fmm_10c = tail call {} %_fmm_10b(i64 %295) | |
| %296 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_109 to i64 | |
| %297 = inttoptr i64 %296 to i8* | |
| %298 = ptrtoint i8* %297 to i64 | |
| %299 = inttoptr i64 %298 to i64* | |
| %300 = getelementptr i64, i64* %299, i64 -1 | |
| %301 = ptrtoint i64* %300 to i64 | |
| %302 = inttoptr i64 %301 to i8* | |
| call void @_pen_free(i8* %302) | |
| br label %phi114 | |
| else113: ; preds = %then109 | |
| br label %phi114 | |
| phi114: ; preds = %else113, %then112 | |
| %_fmm_10d = phi {} [ zeroinitializer, %then112 ], [ zeroinitializer, %else113 ] | |
| br label %phi111 | |
| then115: ; preds = %phi108 | |
| %303 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_111 to i64 | |
| %304 = and i64 %303, 1 | |
| %305 = icmp ne i64 %304, 1 | |
| br i1 %305, label %then118, label %else119 | |
| else116: ; preds = %phi108 | |
| br label %phi117 | |
| phi117: ; preds = %phi120, %else116 | |
| %_fmm_117 = phi {} [ zeroinitializer, %phi120 ], [ zeroinitializer, %else116 ] | |
| %306 = ptrtoint {}* %0 to i64 | |
| %307 = inttoptr i64 %306 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_118 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %307, align 8 | |
| %_fmm_119 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_118, 13 | |
| %308 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_119 to i64 | |
| %309 = icmp ne i64 %308, 0 | |
| br i1 %309, label %then124, label %else125 | |
| then118: ; preds = %then115 | |
| %310 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_111 to i64 | |
| %311 = inttoptr i64 %310 to i64* | |
| %312 = getelementptr i64, i64* %311, i64 -1 | |
| %313 = atomicrmw sub i64* %312, i64 1 release, align 8 | |
| %314 = icmp eq i64 %313, 0 | |
| br i1 %314, label %then121, label %else122 | |
| else119: ; preds = %then115 | |
| br label %phi120 | |
| phi120: ; preds = %phi123, %else119 | |
| %_fmm_116 = phi {} [ zeroinitializer, %phi123 ], [ zeroinitializer, %else119 ] | |
| br label %phi117 | |
| then121: ; preds = %then118 | |
| fence acquire | |
| %315 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_111 to i64 | |
| %316 = and i64 %315, -2 | |
| %317 = inttoptr i64 %316 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %318 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %317, i32 0, i32 1 | |
| %_fmm_113 = load {} (i64)*, {} (i64)** %318, align 8 | |
| %319 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_111 to i64 | |
| %_fmm_114 = tail call {} %_fmm_113(i64 %319) | |
| %320 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_111 to i64 | |
| %321 = inttoptr i64 %320 to i8* | |
| %322 = ptrtoint i8* %321 to i64 | |
| %323 = inttoptr i64 %322 to i64* | |
| %324 = getelementptr i64, i64* %323, i64 -1 | |
| %325 = ptrtoint i64* %324 to i64 | |
| %326 = inttoptr i64 %325 to i8* | |
| call void @_pen_free(i8* %326) | |
| br label %phi123 | |
| else122: ; preds = %then118 | |
| br label %phi123 | |
| phi123: ; preds = %else122, %then121 | |
| %_fmm_115 = phi {} [ zeroinitializer, %then121 ], [ zeroinitializer, %else122 ] | |
| br label %phi120 | |
| then124: ; preds = %phi117 | |
| %327 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_119 to i64 | |
| %328 = and i64 %327, 1 | |
| %329 = icmp ne i64 %328, 1 | |
| br i1 %329, label %then127, label %else128 | |
| else125: ; preds = %phi117 | |
| br label %phi126 | |
| phi126: ; preds = %phi129, %else125 | |
| %_fmm_11f = phi {} [ zeroinitializer, %phi129 ], [ zeroinitializer, %else125 ] | |
| %330 = ptrtoint {}* %0 to i64 | |
| %331 = inttoptr i64 %330 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_120 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %331, align 8 | |
| %_fmm_121 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_120, 14 | |
| %332 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_121 to i64 | |
| %333 = icmp ne i64 %332, 0 | |
| br i1 %333, label %then133, label %else134 | |
| then127: ; preds = %then124 | |
| %334 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_119 to i64 | |
| %335 = inttoptr i64 %334 to i64* | |
| %336 = getelementptr i64, i64* %335, i64 -1 | |
| %337 = atomicrmw sub i64* %336, i64 1 release, align 8 | |
| %338 = icmp eq i64 %337, 0 | |
| br i1 %338, label %then130, label %else131 | |
| else128: ; preds = %then124 | |
| br label %phi129 | |
| phi129: ; preds = %phi132, %else128 | |
| %_fmm_11e = phi {} [ zeroinitializer, %phi132 ], [ zeroinitializer, %else128 ] | |
| br label %phi126 | |
| then130: ; preds = %then127 | |
| fence acquire | |
| %339 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_119 to i64 | |
| %340 = and i64 %339, -2 | |
| %341 = inttoptr i64 %340 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %342 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %341, i32 0, i32 1 | |
| %_fmm_11b = load {} (i64)*, {} (i64)** %342, align 8 | |
| %343 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_119 to i64 | |
| %_fmm_11c = tail call {} %_fmm_11b(i64 %343) | |
| %344 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_119 to i64 | |
| %345 = inttoptr i64 %344 to i8* | |
| %346 = ptrtoint i8* %345 to i64 | |
| %347 = inttoptr i64 %346 to i64* | |
| %348 = getelementptr i64, i64* %347, i64 -1 | |
| %349 = ptrtoint i64* %348 to i64 | |
| %350 = inttoptr i64 %349 to i8* | |
| call void @_pen_free(i8* %350) | |
| br label %phi132 | |
| else131: ; preds = %then127 | |
| br label %phi132 | |
| phi132: ; preds = %else131, %then130 | |
| %_fmm_11d = phi {} [ zeroinitializer, %then130 ], [ zeroinitializer, %else131 ] | |
| br label %phi129 | |
| then133: ; preds = %phi126 | |
| %351 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_121 to i64 | |
| %352 = and i64 %351, 1 | |
| %353 = icmp ne i64 %352, 1 | |
| br i1 %353, label %then136, label %else137 | |
| else134: ; preds = %phi126 | |
| br label %phi135 | |
| phi135: ; preds = %phi138, %else134 | |
| %_fmm_127 = phi {} [ zeroinitializer, %phi138 ], [ zeroinitializer, %else134 ] | |
| %354 = ptrtoint {}* %0 to i64 | |
| %355 = inttoptr i64 %354 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_128 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %355, align 8 | |
| %_fmm_129 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_128, 15 | |
| %356 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_129 to i64 | |
| %357 = icmp ne i64 %356, 0 | |
| br i1 %357, label %then142, label %else143 | |
| then136: ; preds = %then133 | |
| %358 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_121 to i64 | |
| %359 = inttoptr i64 %358 to i64* | |
| %360 = getelementptr i64, i64* %359, i64 -1 | |
| %361 = atomicrmw sub i64* %360, i64 1 release, align 8 | |
| %362 = icmp eq i64 %361, 0 | |
| br i1 %362, label %then139, label %else140 | |
| else137: ; preds = %then133 | |
| br label %phi138 | |
| phi138: ; preds = %phi141, %else137 | |
| %_fmm_126 = phi {} [ zeroinitializer, %phi141 ], [ zeroinitializer, %else137 ] | |
| br label %phi135 | |
| then139: ; preds = %then136 | |
| fence acquire | |
| %363 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_121 to i64 | |
| %364 = and i64 %363, -2 | |
| %365 = inttoptr i64 %364 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* | |
| %366 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %365, i32 0, i32 1 | |
| %_fmm_123 = load {} (i64)*, {} (i64)** %366, align 8 | |
| %367 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_121 to i64 | |
| %_fmm_124 = tail call {} %_fmm_123(i64 %367) | |
| %368 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }* %_fmm_121 to i64 | |
| %369 = inttoptr i64 %368 to i8* | |
| %370 = ptrtoint i8* %369 to i64 | |
| %371 = inttoptr i64 %370 to i64* | |
| %372 = getelementptr i64, i64* %371, i64 -1 | |
| %373 = ptrtoint i64* %372 to i64 | |
| %374 = inttoptr i64 %373 to i8* | |
| call void @_pen_free(i8* %374) | |
| br label %phi141 | |
| else140: ; preds = %then136 | |
| br label %phi141 | |
| phi141: ; preds = %else140, %then139 | |
| %_fmm_125 = phi {} [ zeroinitializer, %then139 ], [ zeroinitializer, %else140 ] | |
| br label %phi138 | |
| then142: ; preds = %phi135 | |
| %375 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_129 to i64 | |
| %376 = and i64 %375, 1 | |
| %377 = icmp ne i64 %376, 1 | |
| br i1 %377, label %then145, label %else146 | |
| else143: ; preds = %phi135 | |
| br label %phi144 | |
| phi144: ; preds = %phi147, %else143 | |
| %_fmm_12f = phi {} [ zeroinitializer, %phi147 ], [ zeroinitializer, %else143 ] | |
| %378 = ptrtoint {}* %0 to i64 | |
| %379 = inttoptr i64 %378 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_130 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %379, align 8 | |
| %_fmm_131 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_130, 16 | |
| %380 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_131 to i64 | |
| %381 = icmp ne i64 %380, 0 | |
| br i1 %381, label %then151, label %else152 | |
| then145: ; preds = %then142 | |
| %382 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_129 to i64 | |
| %383 = inttoptr i64 %382 to i64* | |
| %384 = getelementptr i64, i64* %383, i64 -1 | |
| %385 = atomicrmw sub i64* %384, i64 1 release, align 8 | |
| %386 = icmp eq i64 %385, 0 | |
| br i1 %386, label %then148, label %else149 | |
| else146: ; preds = %then142 | |
| br label %phi147 | |
| phi147: ; preds = %phi150, %else146 | |
| %_fmm_12e = phi {} [ zeroinitializer, %phi150 ], [ zeroinitializer, %else146 ] | |
| br label %phi144 | |
| then148: ; preds = %then145 | |
| fence acquire | |
| %387 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_129 to i64 | |
| %388 = and i64 %387, -2 | |
| %389 = inttoptr i64 %388 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %390 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %389, i32 0, i32 1 | |
| %_fmm_12b = load {} (i64)*, {} (i64)** %390, align 8 | |
| %391 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_129 to i64 | |
| %_fmm_12c = tail call {} %_fmm_12b(i64 %391) | |
| %392 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_129 to i64 | |
| %393 = inttoptr i64 %392 to i8* | |
| %394 = ptrtoint i8* %393 to i64 | |
| %395 = inttoptr i64 %394 to i64* | |
| %396 = getelementptr i64, i64* %395, i64 -1 | |
| %397 = ptrtoint i64* %396 to i64 | |
| %398 = inttoptr i64 %397 to i8* | |
| call void @_pen_free(i8* %398) | |
| br label %phi150 | |
| else149: ; preds = %then145 | |
| br label %phi150 | |
| phi150: ; preds = %else149, %then148 | |
| %_fmm_12d = phi {} [ zeroinitializer, %then148 ], [ zeroinitializer, %else149 ] | |
| br label %phi147 | |
| then151: ; preds = %phi144 | |
| %399 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_131 to i64 | |
| %400 = and i64 %399, 1 | |
| %401 = icmp ne i64 %400, 1 | |
| br i1 %401, label %then154, label %else155 | |
| else152: ; preds = %phi144 | |
| br label %phi153 | |
| phi153: ; preds = %phi156, %else152 | |
| %_fmm_137 = phi {} [ zeroinitializer, %phi156 ], [ zeroinitializer, %else152 ] | |
| %402 = ptrtoint {}* %0 to i64 | |
| %403 = inttoptr i64 %402 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_138 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %403, align 8 | |
| %_fmm_139 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_138, 17 | |
| %404 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_139 to i64 | |
| %405 = icmp ne i64 %404, 0 | |
| br i1 %405, label %then160, label %else161 | |
| then154: ; preds = %then151 | |
| %406 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_131 to i64 | |
| %407 = inttoptr i64 %406 to i64* | |
| %408 = getelementptr i64, i64* %407, i64 -1 | |
| %409 = atomicrmw sub i64* %408, i64 1 release, align 8 | |
| %410 = icmp eq i64 %409, 0 | |
| br i1 %410, label %then157, label %else158 | |
| else155: ; preds = %then151 | |
| br label %phi156 | |
| phi156: ; preds = %phi159, %else155 | |
| %_fmm_136 = phi {} [ zeroinitializer, %phi159 ], [ zeroinitializer, %else155 ] | |
| br label %phi153 | |
| then157: ; preds = %then154 | |
| fence acquire | |
| %411 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_131 to i64 | |
| %412 = and i64 %411, -2 | |
| %413 = inttoptr i64 %412 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %414 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %413, i32 0, i32 1 | |
| %_fmm_133 = load {} (i64)*, {} (i64)** %414, align 8 | |
| %415 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_131 to i64 | |
| %_fmm_134 = tail call {} %_fmm_133(i64 %415) | |
| %416 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_131 to i64 | |
| %417 = inttoptr i64 %416 to i8* | |
| %418 = ptrtoint i8* %417 to i64 | |
| %419 = inttoptr i64 %418 to i64* | |
| %420 = getelementptr i64, i64* %419, i64 -1 | |
| %421 = ptrtoint i64* %420 to i64 | |
| %422 = inttoptr i64 %421 to i8* | |
| call void @_pen_free(i8* %422) | |
| br label %phi159 | |
| else158: ; preds = %then154 | |
| br label %phi159 | |
| phi159: ; preds = %else158, %then157 | |
| %_fmm_135 = phi {} [ zeroinitializer, %then157 ], [ zeroinitializer, %else158 ] | |
| br label %phi156 | |
| then160: ; preds = %phi153 | |
| %423 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_139 to i64 | |
| %424 = and i64 %423, 1 | |
| %425 = icmp ne i64 %424, 1 | |
| br i1 %425, label %then163, label %else164 | |
| else161: ; preds = %phi153 | |
| br label %phi162 | |
| phi162: ; preds = %phi165, %else161 | |
| %_fmm_13f = phi {} [ zeroinitializer, %phi165 ], [ zeroinitializer, %else161 ] | |
| %426 = ptrtoint {}* %0 to i64 | |
| %427 = inttoptr i64 %426 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_140 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %427, align 8 | |
| %_fmm_141 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_140, 18 | |
| %428 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_141 to i64 | |
| %429 = icmp ne i64 %428, 0 | |
| br i1 %429, label %then169, label %else170 | |
| then163: ; preds = %then160 | |
| %430 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_139 to i64 | |
| %431 = inttoptr i64 %430 to i64* | |
| %432 = getelementptr i64, i64* %431, i64 -1 | |
| %433 = atomicrmw sub i64* %432, i64 1 release, align 8 | |
| %434 = icmp eq i64 %433, 0 | |
| br i1 %434, label %then166, label %else167 | |
| else164: ; preds = %then160 | |
| br label %phi165 | |
| phi165: ; preds = %phi168, %else164 | |
| %_fmm_13e = phi {} [ zeroinitializer, %phi168 ], [ zeroinitializer, %else164 ] | |
| br label %phi162 | |
| then166: ; preds = %then163 | |
| fence acquire | |
| %435 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_139 to i64 | |
| %436 = and i64 %435, -2 | |
| %437 = inttoptr i64 %436 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %438 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %437, i32 0, i32 1 | |
| %_fmm_13b = load {} (i64)*, {} (i64)** %438, align 8 | |
| %439 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_139 to i64 | |
| %_fmm_13c = tail call {} %_fmm_13b(i64 %439) | |
| %440 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_139 to i64 | |
| %441 = inttoptr i64 %440 to i8* | |
| %442 = ptrtoint i8* %441 to i64 | |
| %443 = inttoptr i64 %442 to i64* | |
| %444 = getelementptr i64, i64* %443, i64 -1 | |
| %445 = ptrtoint i64* %444 to i64 | |
| %446 = inttoptr i64 %445 to i8* | |
| call void @_pen_free(i8* %446) | |
| br label %phi168 | |
| else167: ; preds = %then163 | |
| br label %phi168 | |
| phi168: ; preds = %else167, %then166 | |
| %_fmm_13d = phi {} [ zeroinitializer, %then166 ], [ zeroinitializer, %else167 ] | |
| br label %phi165 | |
| then169: ; preds = %phi162 | |
| %447 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_141 to i64 | |
| %448 = and i64 %447, 1 | |
| %449 = icmp ne i64 %448, 1 | |
| br i1 %449, label %then172, label %else173 | |
| else170: ; preds = %phi162 | |
| br label %phi171 | |
| phi171: ; preds = %phi174, %else170 | |
| %_fmm_147 = phi {} [ zeroinitializer, %phi174 ], [ zeroinitializer, %else170 ] | |
| %450 = ptrtoint {}* %0 to i64 | |
| %451 = inttoptr i64 %450 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_148 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %451, align 8 | |
| %_fmm_149 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_148, 19 | |
| %452 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_149 to i64 | |
| %453 = icmp ne i64 %452, 0 | |
| br i1 %453, label %then178, label %else179 | |
| then172: ; preds = %then169 | |
| %454 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_141 to i64 | |
| %455 = inttoptr i64 %454 to i64* | |
| %456 = getelementptr i64, i64* %455, i64 -1 | |
| %457 = atomicrmw sub i64* %456, i64 1 release, align 8 | |
| %458 = icmp eq i64 %457, 0 | |
| br i1 %458, label %then175, label %else176 | |
| else173: ; preds = %then169 | |
| br label %phi174 | |
| phi174: ; preds = %phi177, %else173 | |
| %_fmm_146 = phi {} [ zeroinitializer, %phi177 ], [ zeroinitializer, %else173 ] | |
| br label %phi171 | |
| then175: ; preds = %then172 | |
| fence acquire | |
| %459 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_141 to i64 | |
| %460 = and i64 %459, -2 | |
| %461 = inttoptr i64 %460 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %462 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %461, i32 0, i32 1 | |
| %_fmm_143 = load {} (i64)*, {} (i64)** %462, align 8 | |
| %463 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_141 to i64 | |
| %_fmm_144 = tail call {} %_fmm_143(i64 %463) | |
| %464 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_141 to i64 | |
| %465 = inttoptr i64 %464 to i8* | |
| %466 = ptrtoint i8* %465 to i64 | |
| %467 = inttoptr i64 %466 to i64* | |
| %468 = getelementptr i64, i64* %467, i64 -1 | |
| %469 = ptrtoint i64* %468 to i64 | |
| %470 = inttoptr i64 %469 to i8* | |
| call void @_pen_free(i8* %470) | |
| br label %phi177 | |
| else176: ; preds = %then172 | |
| br label %phi177 | |
| phi177: ; preds = %else176, %then175 | |
| %_fmm_145 = phi {} [ zeroinitializer, %then175 ], [ zeroinitializer, %else176 ] | |
| br label %phi174 | |
| then178: ; preds = %phi171 | |
| %471 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_149 to i64 | |
| %472 = and i64 %471, 1 | |
| %473 = icmp ne i64 %472, 1 | |
| br i1 %473, label %then181, label %else182 | |
| else179: ; preds = %phi171 | |
| br label %phi180 | |
| phi180: ; preds = %phi183, %else179 | |
| %_fmm_14f = phi {} [ zeroinitializer, %phi183 ], [ zeroinitializer, %else179 ] | |
| %474 = ptrtoint {}* %0 to i64 | |
| %475 = inttoptr i64 %474 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_150 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %475, align 8 | |
| %_fmm_151 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_150, 20 | |
| %476 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_151 to i64 | |
| %477 = icmp ne i64 %476, 0 | |
| br i1 %477, label %then187, label %else188 | |
| then181: ; preds = %then178 | |
| %478 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_149 to i64 | |
| %479 = inttoptr i64 %478 to i64* | |
| %480 = getelementptr i64, i64* %479, i64 -1 | |
| %481 = atomicrmw sub i64* %480, i64 1 release, align 8 | |
| %482 = icmp eq i64 %481, 0 | |
| br i1 %482, label %then184, label %else185 | |
| else182: ; preds = %then178 | |
| br label %phi183 | |
| phi183: ; preds = %phi186, %else182 | |
| %_fmm_14e = phi {} [ zeroinitializer, %phi186 ], [ zeroinitializer, %else182 ] | |
| br label %phi180 | |
| then184: ; preds = %then181 | |
| fence acquire | |
| %483 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_149 to i64 | |
| %484 = and i64 %483, -2 | |
| %485 = inttoptr i64 %484 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* | |
| %486 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %485, i32 0, i32 1 | |
| %_fmm_14b = load {} (i64)*, {} (i64)** %486, align 8 | |
| %487 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_149 to i64 | |
| %_fmm_14c = tail call {} %_fmm_14b(i64 %487) | |
| %488 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_149 to i64 | |
| %489 = inttoptr i64 %488 to i8* | |
| %490 = ptrtoint i8* %489 to i64 | |
| %491 = inttoptr i64 %490 to i64* | |
| %492 = getelementptr i64, i64* %491, i64 -1 | |
| %493 = ptrtoint i64* %492 to i64 | |
| %494 = inttoptr i64 %493 to i8* | |
| call void @_pen_free(i8* %494) | |
| br label %phi186 | |
| else185: ; preds = %then181 | |
| br label %phi186 | |
| phi186: ; preds = %else185, %then184 | |
| %_fmm_14d = phi {} [ zeroinitializer, %then184 ], [ zeroinitializer, %else185 ] | |
| br label %phi183 | |
| then187: ; preds = %phi180 | |
| %495 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_151 to i64 | |
| %496 = and i64 %495, 1 | |
| %497 = icmp ne i64 %496, 1 | |
| br i1 %497, label %then190, label %else191 | |
| else188: ; preds = %phi180 | |
| br label %phi189 | |
| phi189: ; preds = %phi192, %else188 | |
| %_fmm_157 = phi {} [ zeroinitializer, %phi192 ], [ zeroinitializer, %else188 ] | |
| %498 = ptrtoint {}* %0 to i64 | |
| %499 = inttoptr i64 %498 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_158 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %499, align 8 | |
| %_fmm_159 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_158, 21 | |
| %500 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_159 to i64 | |
| %501 = icmp ne i64 %500, 0 | |
| br i1 %501, label %then196, label %else197 | |
| then190: ; preds = %then187 | |
| %502 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_151 to i64 | |
| %503 = inttoptr i64 %502 to i64* | |
| %504 = getelementptr i64, i64* %503, i64 -1 | |
| %505 = atomicrmw sub i64* %504, i64 1 release, align 8 | |
| %506 = icmp eq i64 %505, 0 | |
| br i1 %506, label %then193, label %else194 | |
| else191: ; preds = %then187 | |
| br label %phi192 | |
| phi192: ; preds = %phi195, %else191 | |
| %_fmm_156 = phi {} [ zeroinitializer, %phi195 ], [ zeroinitializer, %else191 ] | |
| br label %phi189 | |
| then193: ; preds = %then190 | |
| fence acquire | |
| %507 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_151 to i64 | |
| %508 = and i64 %507, -2 | |
| %509 = inttoptr i64 %508 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* | |
| %510 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %509, i32 0, i32 1 | |
| %_fmm_153 = load {} (i64)*, {} (i64)** %510, align 8 | |
| %511 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_151 to i64 | |
| %_fmm_154 = tail call {} %_fmm_153(i64 %511) | |
| %512 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }* %_fmm_151 to i64 | |
| %513 = inttoptr i64 %512 to i8* | |
| %514 = ptrtoint i8* %513 to i64 | |
| %515 = inttoptr i64 %514 to i64* | |
| %516 = getelementptr i64, i64* %515, i64 -1 | |
| %517 = ptrtoint i64* %516 to i64 | |
| %518 = inttoptr i64 %517 to i8* | |
| call void @_pen_free(i8* %518) | |
| br label %phi195 | |
| else194: ; preds = %then190 | |
| br label %phi195 | |
| phi195: ; preds = %else194, %then193 | |
| %_fmm_155 = phi {} [ zeroinitializer, %then193 ], [ zeroinitializer, %else194 ] | |
| br label %phi192 | |
| then196: ; preds = %phi189 | |
| %519 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_159 to i64 | |
| %520 = and i64 %519, 1 | |
| %521 = icmp ne i64 %520, 1 | |
| br i1 %521, label %then199, label %else200 | |
| else197: ; preds = %phi189 | |
| br label %phi198 | |
| phi198: ; preds = %phi201, %else197 | |
| %_fmm_15f = phi {} [ zeroinitializer, %phi201 ], [ zeroinitializer, %else197 ] | |
| %522 = ptrtoint {}* %0 to i64 | |
| %523 = inttoptr i64 %522 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_160 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %523, align 8 | |
| %_fmm_161 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_160, 22 | |
| %524 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_161 to i64 | |
| %525 = icmp ne i64 %524, 0 | |
| br i1 %525, label %then205, label %else206 | |
| then199: ; preds = %then196 | |
| %526 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_159 to i64 | |
| %527 = inttoptr i64 %526 to i64* | |
| %528 = getelementptr i64, i64* %527, i64 -1 | |
| %529 = atomicrmw sub i64* %528, i64 1 release, align 8 | |
| %530 = icmp eq i64 %529, 0 | |
| br i1 %530, label %then202, label %else203 | |
| else200: ; preds = %then196 | |
| br label %phi201 | |
| phi201: ; preds = %phi204, %else200 | |
| %_fmm_15e = phi {} [ zeroinitializer, %phi204 ], [ zeroinitializer, %else200 ] | |
| br label %phi198 | |
| then202: ; preds = %then199 | |
| fence acquire | |
| %531 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_159 to i64 | |
| %532 = and i64 %531, -2 | |
| %533 = inttoptr i64 %532 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %534 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %533, i32 0, i32 1 | |
| %_fmm_15b = load {} (i64)*, {} (i64)** %534, align 8 | |
| %535 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_159 to i64 | |
| %_fmm_15c = tail call {} %_fmm_15b(i64 %535) | |
| %536 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_159 to i64 | |
| %537 = inttoptr i64 %536 to i8* | |
| %538 = ptrtoint i8* %537 to i64 | |
| %539 = inttoptr i64 %538 to i64* | |
| %540 = getelementptr i64, i64* %539, i64 -1 | |
| %541 = ptrtoint i64* %540 to i64 | |
| %542 = inttoptr i64 %541 to i8* | |
| call void @_pen_free(i8* %542) | |
| br label %phi204 | |
| else203: ; preds = %then199 | |
| br label %phi204 | |
| phi204: ; preds = %else203, %then202 | |
| %_fmm_15d = phi {} [ zeroinitializer, %then202 ], [ zeroinitializer, %else203 ] | |
| br label %phi201 | |
| then205: ; preds = %phi198 | |
| %543 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_161 to i64 | |
| %544 = and i64 %543, 1 | |
| %545 = icmp ne i64 %544, 1 | |
| br i1 %545, label %then208, label %else209 | |
| else206: ; preds = %phi198 | |
| br label %phi207 | |
| phi207: ; preds = %phi210, %else206 | |
| %_fmm_167 = phi {} [ zeroinitializer, %phi210 ], [ zeroinitializer, %else206 ] | |
| %546 = ptrtoint {}* %0 to i64 | |
| %547 = inttoptr i64 %546 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_168 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %547, align 8 | |
| %_fmm_169 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_168, 23 | |
| %548 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_169 to i64 | |
| %549 = icmp ne i64 %548, 0 | |
| br i1 %549, label %then214, label %else215 | |
| then208: ; preds = %then205 | |
| %550 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_161 to i64 | |
| %551 = inttoptr i64 %550 to i64* | |
| %552 = getelementptr i64, i64* %551, i64 -1 | |
| %553 = atomicrmw sub i64* %552, i64 1 release, align 8 | |
| %554 = icmp eq i64 %553, 0 | |
| br i1 %554, label %then211, label %else212 | |
| else209: ; preds = %then205 | |
| br label %phi210 | |
| phi210: ; preds = %phi213, %else209 | |
| %_fmm_166 = phi {} [ zeroinitializer, %phi213 ], [ zeroinitializer, %else209 ] | |
| br label %phi207 | |
| then211: ; preds = %then208 | |
| fence acquire | |
| %555 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_161 to i64 | |
| %556 = and i64 %555, -2 | |
| %557 = inttoptr i64 %556 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %558 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %557, i32 0, i32 1 | |
| %_fmm_163 = load {} (i64)*, {} (i64)** %558, align 8 | |
| %559 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_161 to i64 | |
| %_fmm_164 = tail call {} %_fmm_163(i64 %559) | |
| %560 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_161 to i64 | |
| %561 = inttoptr i64 %560 to i8* | |
| %562 = ptrtoint i8* %561 to i64 | |
| %563 = inttoptr i64 %562 to i64* | |
| %564 = getelementptr i64, i64* %563, i64 -1 | |
| %565 = ptrtoint i64* %564 to i64 | |
| %566 = inttoptr i64 %565 to i8* | |
| call void @_pen_free(i8* %566) | |
| br label %phi213 | |
| else212: ; preds = %then208 | |
| br label %phi213 | |
| phi213: ; preds = %else212, %then211 | |
| %_fmm_165 = phi {} [ zeroinitializer, %then211 ], [ zeroinitializer, %else212 ] | |
| br label %phi210 | |
| then214: ; preds = %phi207 | |
| %567 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_169 to i64 | |
| %568 = and i64 %567, 1 | |
| %569 = icmp ne i64 %568, 1 | |
| br i1 %569, label %then217, label %else218 | |
| else215: ; preds = %phi207 | |
| br label %phi216 | |
| phi216: ; preds = %phi219, %else215 | |
| %_fmm_16f = phi {} [ zeroinitializer, %phi219 ], [ zeroinitializer, %else215 ] | |
| %570 = ptrtoint {}* %0 to i64 | |
| %571 = inttoptr i64 %570 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_170 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %571, align 8 | |
| %_fmm_171 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_170, 24 | |
| %572 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_171 to i64 | |
| %573 = icmp ne i64 %572, 0 | |
| br i1 %573, label %then223, label %else224 | |
| then217: ; preds = %then214 | |
| %574 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_169 to i64 | |
| %575 = inttoptr i64 %574 to i64* | |
| %576 = getelementptr i64, i64* %575, i64 -1 | |
| %577 = atomicrmw sub i64* %576, i64 1 release, align 8 | |
| %578 = icmp eq i64 %577, 0 | |
| br i1 %578, label %then220, label %else221 | |
| else218: ; preds = %then214 | |
| br label %phi219 | |
| phi219: ; preds = %phi222, %else218 | |
| %_fmm_16e = phi {} [ zeroinitializer, %phi222 ], [ zeroinitializer, %else218 ] | |
| br label %phi216 | |
| then220: ; preds = %then217 | |
| fence acquire | |
| %579 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_169 to i64 | |
| %580 = and i64 %579, -2 | |
| %581 = inttoptr i64 %580 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %582 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %581, i32 0, i32 1 | |
| %_fmm_16b = load {} (i64)*, {} (i64)** %582, align 8 | |
| %583 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_169 to i64 | |
| %_fmm_16c = tail call {} %_fmm_16b(i64 %583) | |
| %584 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_169 to i64 | |
| %585 = inttoptr i64 %584 to i8* | |
| %586 = ptrtoint i8* %585 to i64 | |
| %587 = inttoptr i64 %586 to i64* | |
| %588 = getelementptr i64, i64* %587, i64 -1 | |
| %589 = ptrtoint i64* %588 to i64 | |
| %590 = inttoptr i64 %589 to i8* | |
| call void @_pen_free(i8* %590) | |
| br label %phi222 | |
| else221: ; preds = %then217 | |
| br label %phi222 | |
| phi222: ; preds = %else221, %then220 | |
| %_fmm_16d = phi {} [ zeroinitializer, %then220 ], [ zeroinitializer, %else221 ] | |
| br label %phi219 | |
| then223: ; preds = %phi216 | |
| %591 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_171 to i64 | |
| %592 = and i64 %591, 1 | |
| %593 = icmp ne i64 %592, 1 | |
| br i1 %593, label %then226, label %else227 | |
| else224: ; preds = %phi216 | |
| br label %phi225 | |
| phi225: ; preds = %phi228, %else224 | |
| %_fmm_177 = phi {} [ zeroinitializer, %phi228 ], [ zeroinitializer, %else224 ] | |
| %594 = ptrtoint {}* %0 to i64 | |
| %595 = inttoptr i64 %594 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_178 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %595, align 8 | |
| %_fmm_179 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_178, 25 | |
| %596 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_179 to i64 | |
| %597 = icmp ne i64 %596, 0 | |
| br i1 %597, label %then232, label %else233 | |
| then226: ; preds = %then223 | |
| %598 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_171 to i64 | |
| %599 = inttoptr i64 %598 to i64* | |
| %600 = getelementptr i64, i64* %599, i64 -1 | |
| %601 = atomicrmw sub i64* %600, i64 1 release, align 8 | |
| %602 = icmp eq i64 %601, 0 | |
| br i1 %602, label %then229, label %else230 | |
| else227: ; preds = %then223 | |
| br label %phi228 | |
| phi228: ; preds = %phi231, %else227 | |
| %_fmm_176 = phi {} [ zeroinitializer, %phi231 ], [ zeroinitializer, %else227 ] | |
| br label %phi225 | |
| then229: ; preds = %then226 | |
| fence acquire | |
| %603 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_171 to i64 | |
| %604 = and i64 %603, -2 | |
| %605 = inttoptr i64 %604 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* | |
| %606 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %605, i32 0, i32 1 | |
| %_fmm_173 = load {} (i64)*, {} (i64)** %606, align 8 | |
| %607 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_171 to i64 | |
| %_fmm_174 = tail call {} %_fmm_173(i64 %607) | |
| %608 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_171 to i64 | |
| %609 = inttoptr i64 %608 to i8* | |
| %610 = ptrtoint i8* %609 to i64 | |
| %611 = inttoptr i64 %610 to i64* | |
| %612 = getelementptr i64, i64* %611, i64 -1 | |
| %613 = ptrtoint i64* %612 to i64 | |
| %614 = inttoptr i64 %613 to i8* | |
| call void @_pen_free(i8* %614) | |
| br label %phi231 | |
| else230: ; preds = %then226 | |
| br label %phi231 | |
| phi231: ; preds = %else230, %then229 | |
| %_fmm_175 = phi {} [ zeroinitializer, %then229 ], [ zeroinitializer, %else230 ] | |
| br label %phi228 | |
| then232: ; preds = %phi225 | |
| %615 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_179 to i64 | |
| %616 = and i64 %615, 1 | |
| %617 = icmp ne i64 %616, 1 | |
| br i1 %617, label %then235, label %else236 | |
| else233: ; preds = %phi225 | |
| br label %phi234 | |
| phi234: ; preds = %phi237, %else233 | |
| %_fmm_17f = phi {} [ zeroinitializer, %phi237 ], [ zeroinitializer, %else233 ] | |
| %618 = ptrtoint {}* %0 to i64 | |
| %619 = inttoptr i64 %618 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_180 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %619, align 8 | |
| %_fmm_181 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_180, 26 | |
| %620 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_181 to i64 | |
| %621 = icmp ne i64 %620, 0 | |
| br i1 %621, label %then241, label %else242 | |
| then235: ; preds = %then232 | |
| %622 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_179 to i64 | |
| %623 = inttoptr i64 %622 to i64* | |
| %624 = getelementptr i64, i64* %623, i64 -1 | |
| %625 = atomicrmw sub i64* %624, i64 1 release, align 8 | |
| %626 = icmp eq i64 %625, 0 | |
| br i1 %626, label %then238, label %else239 | |
| else236: ; preds = %then232 | |
| br label %phi237 | |
| phi237: ; preds = %phi240, %else236 | |
| %_fmm_17e = phi {} [ zeroinitializer, %phi240 ], [ zeroinitializer, %else236 ] | |
| br label %phi234 | |
| then238: ; preds = %then235 | |
| fence acquire | |
| %627 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_179 to i64 | |
| %628 = and i64 %627, -2 | |
| %629 = inttoptr i64 %628 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* | |
| %630 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %629, i32 0, i32 1 | |
| %_fmm_17b = load {} (i64)*, {} (i64)** %630, align 8 | |
| %631 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_179 to i64 | |
| %_fmm_17c = tail call {} %_fmm_17b(i64 %631) | |
| %632 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* %_fmm_179 to i64 | |
| %633 = inttoptr i64 %632 to i8* | |
| %634 = ptrtoint i8* %633 to i64 | |
| %635 = inttoptr i64 %634 to i64* | |
| %636 = getelementptr i64, i64* %635, i64 -1 | |
| %637 = ptrtoint i64* %636 to i64 | |
| %638 = inttoptr i64 %637 to i8* | |
| call void @_pen_free(i8* %638) | |
| br label %phi240 | |
| else239: ; preds = %then235 | |
| br label %phi240 | |
| phi240: ; preds = %else239, %then238 | |
| %_fmm_17d = phi {} [ zeroinitializer, %then238 ], [ zeroinitializer, %else239 ] | |
| br label %phi237 | |
| then241: ; preds = %phi234 | |
| %639 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_181 to i64 | |
| %640 = and i64 %639, 1 | |
| %641 = icmp ne i64 %640, 1 | |
| br i1 %641, label %then244, label %else245 | |
| else242: ; preds = %phi234 | |
| br label %phi243 | |
| phi243: ; preds = %phi246, %else242 | |
| %_fmm_187 = phi {} [ zeroinitializer, %phi246 ], [ zeroinitializer, %else242 ] | |
| %642 = ptrtoint {}* %0 to i64 | |
| %643 = inttoptr i64 %642 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* | |
| %_fmm_188 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* }* %643, align 8 | |
| %_fmm_189 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, double)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* } %_fmm_188, 27 | |
| %644 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_189 to i64 | |
| %645 = icmp ne i64 %644, 0 | |
| br i1 %645, label %then250, label %else251 | |
| then244: ; preds = %then241 | |
| %646 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_181 to i64 | |
| %647 = inttoptr i64 %646 to i64* | |
| %648 = getelementptr i64, i64* %647, i64 -1 | |
| %649 = atomicrmw sub i64* %648, i64 1 release, align 8 | |
| %650 = icmp eq i64 %649, 0 | |
| br i1 %650, label %then247, label %else248 | |
| else245: ; preds = %then241 | |
| br label %phi246 | |
| phi246: ; preds = %phi249, %else245 | |
| %_fmm_186 = phi {} [ zeroinitializer, %phi249 ], [ zeroinitializer, %else245 ] | |
| br label %phi243 | |
| then247: ; preds = %then244 | |
| fence acquire | |
| %651 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_181 to i64 | |
| %652 = and i64 %651, -2 | |
| %653 = inttoptr i64 %652 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %654 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %653, i32 0, i32 1 | |
| %_fmm_183 = load {} (i64)*, {} (i64)** %654, align 8 | |
| %655 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_181 to i64 | |
| %_fmm_184 = tail call {} %_fmm_183(i64 %655) | |
| %656 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_181 to i64 | |
| %657 = inttoptr i64 %656 to i8* | |
| %658 = ptrtoint i8* %657 to i64 | |
| %659 = inttoptr i64 %658 to i64* | |
| %660 = getelementptr i64, i64* %659, i64 -1 | |
| %661 = ptrtoint i64* %660 to i64 | |
| %662 = inttoptr i64 %661 to i8* | |
| call void @_pen_free(i8* %662) | |
| br label %phi249 | |
| else248: ; preds = %then244 | |
| br label %phi249 | |
| phi249: ; preds = %else248, %then247 | |
| %_fmm_185 = phi {} [ zeroinitializer, %then247 ], [ zeroinitializer, %else248 ] | |
| br label %phi246 | |
| then250: ; preds = %phi243 | |
| %663 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_189 to i64 | |
| %664 = and i64 %663, 1 | |
| %665 = icmp ne i64 %664, 1 | |
| br i1 %665, label %then253, label %else254 | |
| else251: ; preds = %phi243 | |
| br label %phi252 | |
| phi252: ; preds = %phi255, %else251 | |
| %_fmm_18f = phi {} [ zeroinitializer, %phi255 ], [ zeroinitializer, %else251 ] | |
| %666 = ptrtoint {}* %0 to i64 | |
| %667 = inttoptr i64 %666 to i8* | |
| %668 = ptrtoint i8* %667 to i64 | |
| %669 = inttoptr i64 %668 to i64* | |
| %670 = getelementptr i64, i64* %669, i64 -1 | |
| %671 = ptrtoint i64* %670 to i64 | |
| %672 = inttoptr i64 %671 to i8* | |
| call void @_pen_free(i8* %672) | |
| br label %phi6 | |
| then253: ; preds = %then250 | |
| %673 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_189 to i64 | |
| %674 = inttoptr i64 %673 to i64* | |
| %675 = getelementptr i64, i64* %674, i64 -1 | |
| %676 = atomicrmw sub i64* %675, i64 1 release, align 8 | |
| %677 = icmp eq i64 %676, 0 | |
| br i1 %677, label %then256, label %else257 | |
| else254: ; preds = %then250 | |
| br label %phi255 | |
| phi255: ; preds = %phi258, %else254 | |
| %_fmm_18e = phi {} [ zeroinitializer, %phi258 ], [ zeroinitializer, %else254 ] | |
| br label %phi252 | |
| then256: ; preds = %then253 | |
| fence acquire | |
| %678 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_189 to i64 | |
| %679 = and i64 %678, -2 | |
| %680 = inttoptr i64 %679 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* | |
| %681 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %680, i32 0, i32 1 | |
| %_fmm_18b = load {} (i64)*, {} (i64)** %681, align 8 | |
| %682 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_189 to i64 | |
| %_fmm_18c = tail call {} %_fmm_18b(i64 %682) | |
| %683 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*, { i64, i8 }*, { i64, i8 }*)*, {} (i64)*, {} }* %_fmm_189 to i64 | |
| %684 = inttoptr i64 %683 to i8* | |
| %685 = ptrtoint i8* %684 to i64 | |
| %686 = inttoptr i64 %685 to i64* | |
| %687 = getelementptr i64, i64* %686, i64 -1 | |
| %688 = ptrtoint i64* %687 to i64 | |
| %689 = inttoptr i64 %688 to i8* | |
| call void @_pen_free(i8* %689) | |
| br label %phi258 | |
| else257: ; preds = %then253 | |
| br label %phi258 | |
| phi258: ; preds = %else257, %then256 | |
| %_fmm_18d = phi {} [ zeroinitializer, %then256 ], [ zeroinitializer, %else257 ] | |
| br label %phi255 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/File.pen:File"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_195 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_194 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/File.pen:File"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1a0 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_19f = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { { {} (i64)*, {} (i64)* }*, i64 } }* | |
| %_fmm_197 = load { { { {} (i64)*, {} (i64)* }*, i64 } }, { { { {} (i64)*, {} (i64)* }*, i64 } }* %12, align 8 | |
| %_fmm_198 = extractvalue { { { {} (i64)*, {} (i64)* }*, i64 } } %_fmm_197, 0 | |
| %_fmm_199 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_198, 0 | |
| %_fmm_19a = load { {} (i64)*, {} (i64)* }, { {} (i64)*, {} (i64)* }* %_fmm_199, align 8 | |
| %_fmm_19b = extractvalue { {} (i64)*, {} (i64)* } %_fmm_19a, 1 | |
| %_fmm_19c = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_198, 1 | |
| %_fmm_19d = tail call {} %_fmm_19b(i64 %_fmm_19c) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to i8* | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to i64* | |
| %17 = getelementptr i64, i64* %16, i64 -1 | |
| %18 = ptrtoint i64* %17 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| call void @_pen_free(i8* %19) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_19e = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/File.pen:stdErr"({} %0) { | |
| entry: | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/File.pen:stdErr"({} %0) { | |
| entry: | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/File.pen:stdIn"({} %0) { | |
| entry: | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/File.pen:stdIn"({} %0) { | |
| entry: | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/File.pen:stdOut"({} %0) { | |
| entry: | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/File.pen:stdOut"({} %0) { | |
| entry: | |
| ret {} zeroinitializer | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/File/Metadata.pen:Metadata"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1a3 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_1a2 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/File/Metadata.pen:Metadata"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1a9 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_1a8 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { double }* | |
| %_fmm_1a5 = load { double }, { double }* %12, align 8 | |
| %_fmm_1a6 = extractvalue { double } %_fmm_1a5, 0 | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to i8* | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to i64* | |
| %17 = getelementptr i64, i64* %16, i64 -1 | |
| %18 = ptrtoint i64* %17 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| call void @_pen_free(i8* %19) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_1a7 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/File/OpenOptions.pen:OpenOptions"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1ac = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_1ab = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/File/OpenOptions.pen:OpenOptions"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1bc = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_1bb = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { i1, i1, i1, i1, i1, i1 }* | |
| %_fmm_1ae = load { i1, i1, i1, i1, i1, i1 }, { i1, i1, i1, i1, i1, i1 }* %12, align 1 | |
| %_fmm_1af = extractvalue { i1, i1, i1, i1, i1, i1 } %_fmm_1ae, 0 | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { i1, i1, i1, i1, i1, i1 }* | |
| %_fmm_1b0 = load { i1, i1, i1, i1, i1, i1 }, { i1, i1, i1, i1, i1, i1 }* %14, align 1 | |
| %_fmm_1b1 = extractvalue { i1, i1, i1, i1, i1, i1 } %_fmm_1b0, 1 | |
| %15 = ptrtoint {}* %0 to i64 | |
| %16 = inttoptr i64 %15 to { i1, i1, i1, i1, i1, i1 }* | |
| %_fmm_1b2 = load { i1, i1, i1, i1, i1, i1 }, { i1, i1, i1, i1, i1, i1 }* %16, align 1 | |
| %_fmm_1b3 = extractvalue { i1, i1, i1, i1, i1, i1 } %_fmm_1b2, 2 | |
| %17 = ptrtoint {}* %0 to i64 | |
| %18 = inttoptr i64 %17 to { i1, i1, i1, i1, i1, i1 }* | |
| %_fmm_1b4 = load { i1, i1, i1, i1, i1, i1 }, { i1, i1, i1, i1, i1, i1 }* %18, align 1 | |
| %_fmm_1b5 = extractvalue { i1, i1, i1, i1, i1, i1 } %_fmm_1b4, 3 | |
| %19 = ptrtoint {}* %0 to i64 | |
| %20 = inttoptr i64 %19 to { i1, i1, i1, i1, i1, i1 }* | |
| %_fmm_1b6 = load { i1, i1, i1, i1, i1, i1 }, { i1, i1, i1, i1, i1, i1 }* %20, align 1 | |
| %_fmm_1b7 = extractvalue { i1, i1, i1, i1, i1, i1 } %_fmm_1b6, 4 | |
| %21 = ptrtoint {}* %0 to i64 | |
| %22 = inttoptr i64 %21 to { i1, i1, i1, i1, i1, i1 }* | |
| %_fmm_1b8 = load { i1, i1, i1, i1, i1, i1 }, { i1, i1, i1, i1, i1, i1 }* %22, align 1 | |
| %_fmm_1b9 = extractvalue { i1, i1, i1, i1, i1, i1 } %_fmm_1b8, 5 | |
| %23 = ptrtoint {}* %0 to i64 | |
| %24 = inttoptr i64 %23 to i8* | |
| %25 = ptrtoint i8* %24 to i64 | |
| %26 = inttoptr i64 %25 to i64* | |
| %27 = getelementptr i64, i64* %26, i64 -1 | |
| %28 = ptrtoint i64* %27 to i64 | |
| %29 = inttoptr i64 %28 to i8* | |
| call void @_pen_free(i8* %29) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_1ba = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1bf = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_1be = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1cc = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_1cb = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { {}*, { i64, i8 }* }* | |
| %_fmm_1c1 = load { {}*, { i64, i8 }* }, { {}*, { i64, i8 }* }* %12, align 8 | |
| %_fmm_1c2 = extractvalue { {}*, { i64, i8 }* } %_fmm_1c1, 0 | |
| %_fmm_1c3 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/Stream.pen:Stream"({}* %_fmm_1c2) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to { {}*, { i64, i8 }* }* | |
| %_fmm_1c4 = load { {}*, { i64, i8 }* }, { {}*, { i64, i8 }* }* %14, align 8 | |
| %_fmm_1c5 = extractvalue { {}*, { i64, i8 }* } %_fmm_1c4, 1 | |
| %15 = ptrtoint { i64, i8 }* %_fmm_1c5 to i64 | |
| %16 = icmp ne i64 %15, 0 | |
| br i1 %16, label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %phi9, %else5 | |
| %_fmm_1ca = phi {} [ zeroinitializer, %phi9 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| then7: ; preds = %then4 | |
| %17 = ptrtoint { i64, i8 }* %_fmm_1c5 to i64 | |
| %18 = and i64 %17, 1 | |
| %19 = icmp ne i64 %18, 1 | |
| br i1 %19, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| br label %phi9 | |
| phi9: ; preds = %phi12, %else8 | |
| %_fmm_1c9 = phi {} [ zeroinitializer, %phi12 ], [ zeroinitializer, %else8 ] | |
| %20 = ptrtoint {}* %0 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| %22 = ptrtoint i8* %21 to i64 | |
| %23 = inttoptr i64 %22 to i64* | |
| %24 = getelementptr i64, i64* %23, i64 -1 | |
| %25 = ptrtoint i64* %24 to i64 | |
| %26 = inttoptr i64 %25 to i8* | |
| call void @_pen_free(i8* %26) | |
| br label %phi6 | |
| then10: ; preds = %then7 | |
| %27 = ptrtoint { i64, i8 }* %_fmm_1c5 to i64 | |
| %28 = inttoptr i64 %27 to i64* | |
| %29 = getelementptr i64, i64* %28, i64 -1 | |
| %30 = atomicrmw sub i64* %29, i64 1 release, align 8 | |
| %31 = icmp eq i64 %30, 0 | |
| br i1 %31, label %then13, label %else14 | |
| else11: ; preds = %then7 | |
| br label %phi12 | |
| phi12: ; preds = %phi15, %else11 | |
| %_fmm_1c8 = phi {} [ zeroinitializer, %phi15 ], [ zeroinitializer, %else11 ] | |
| br label %phi9 | |
| then13: ; preds = %then10 | |
| fence acquire | |
| %32 = ptrtoint { i64, i8 }* %_fmm_1c5 to i64 | |
| %33 = inttoptr i64 %32 to i8* | |
| %34 = ptrtoint i8* %33 to i64 | |
| %35 = inttoptr i64 %34 to i64* | |
| %36 = getelementptr i64, i64* %35, i64 -1 | |
| %37 = ptrtoint i64* %36 to i64 | |
| %38 = inttoptr i64 %37 to i8* | |
| call void @_pen_free(i8* %38) | |
| br label %phi15 | |
| else14: ; preds = %then10 | |
| br label %phi15 | |
| phi15: ; preds = %else14, %then13 | |
| %_fmm_1c7 = phi {} [ zeroinitializer, %then13 ], [ zeroinitializer, %else14 ] | |
| br label %phi12 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1cf = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_1ce = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1da = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_1d9 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { { {} (i64)*, {} (i64)* }*, i64 } }* | |
| %_fmm_1d1 = load { { { {} (i64)*, {} (i64)* }*, i64 } }, { { { {} (i64)*, {} (i64)* }*, i64 } }* %12, align 8 | |
| %_fmm_1d2 = extractvalue { { { {} (i64)*, {} (i64)* }*, i64 } } %_fmm_1d1, 0 | |
| %_fmm_1d3 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_1d2, 0 | |
| %_fmm_1d4 = load { {} (i64)*, {} (i64)* }, { {} (i64)*, {} (i64)* }* %_fmm_1d3, align 8 | |
| %_fmm_1d5 = extractvalue { {} (i64)*, {} (i64)* } %_fmm_1d4, 1 | |
| %_fmm_1d6 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_1d2, 1 | |
| %_fmm_1d7 = tail call {} %_fmm_1d5(i64 %_fmm_1d6) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to i8* | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to i64* | |
| %17 = getelementptr i64, i64* %16, i64 -1 | |
| %18 = ptrtoint i64* %17 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| call void @_pen_free(i8* %19) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_1d8 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Tcp/Stream.pen:Stream"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1dd = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_1dc = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/Stream.pen:Stream"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1e8 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_1e7 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { { {} (i64)*, {} (i64)* }*, i64 } }* | |
| %_fmm_1df = load { { { {} (i64)*, {} (i64)* }*, i64 } }, { { { {} (i64)*, {} (i64)* }*, i64 } }* %12, align 8 | |
| %_fmm_1e0 = extractvalue { { { {} (i64)*, {} (i64)* }*, i64 } } %_fmm_1df, 0 | |
| %_fmm_1e1 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_1e0, 0 | |
| %_fmm_1e2 = load { {} (i64)*, {} (i64)* }, { {} (i64)*, {} (i64)* }* %_fmm_1e1, align 8 | |
| %_fmm_1e3 = extractvalue { {} (i64)*, {} (i64)* } %_fmm_1e2, 1 | |
| %_fmm_1e4 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_1e0, 1 | |
| %_fmm_1e5 = tail call {} %_fmm_1e3(i64 %_fmm_1e4) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to i8* | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to i64* | |
| %17 = getelementptr i64, i64* %16, i64 -1 | |
| %18 = ptrtoint i64* %17 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| call void @_pen_free(i8* %19) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_1e6 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Udp/Datagram.pen:Datagram"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1eb = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_1ea = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Udp/Datagram.pen:Datagram"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1fb = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_1fa = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { i64, i8 }*, { i64, i8 }* }* | |
| %_fmm_1ed = load { { i64, i8 }*, { i64, i8 }* }, { { i64, i8 }*, { i64, i8 }* }* %12, align 8 | |
| %_fmm_1ee = extractvalue { { i64, i8 }*, { i64, i8 }* } %_fmm_1ed, 0 | |
| %13 = ptrtoint { i64, i8 }* %_fmm_1ee to i64 | |
| %14 = icmp ne i64 %13, 0 | |
| br i1 %14, label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %phi18, %else5 | |
| %_fmm_1f9 = phi {} [ zeroinitializer, %phi18 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| then7: ; preds = %then4 | |
| %15 = ptrtoint { i64, i8 }* %_fmm_1ee to i64 | |
| %16 = and i64 %15, 1 | |
| %17 = icmp ne i64 %16, 1 | |
| br i1 %17, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| br label %phi9 | |
| phi9: ; preds = %phi12, %else8 | |
| %_fmm_1f2 = phi {} [ zeroinitializer, %phi12 ], [ zeroinitializer, %else8 ] | |
| %18 = ptrtoint {}* %0 to i64 | |
| %19 = inttoptr i64 %18 to { { i64, i8 }*, { i64, i8 }* }* | |
| %_fmm_1f3 = load { { i64, i8 }*, { i64, i8 }* }, { { i64, i8 }*, { i64, i8 }* }* %19, align 8 | |
| %_fmm_1f4 = extractvalue { { i64, i8 }*, { i64, i8 }* } %_fmm_1f3, 1 | |
| %20 = ptrtoint { i64, i8 }* %_fmm_1f4 to i64 | |
| %21 = icmp ne i64 %20, 0 | |
| br i1 %21, label %then16, label %else17 | |
| then10: ; preds = %then7 | |
| %22 = ptrtoint { i64, i8 }* %_fmm_1ee to i64 | |
| %23 = inttoptr i64 %22 to i64* | |
| %24 = getelementptr i64, i64* %23, i64 -1 | |
| %25 = atomicrmw sub i64* %24, i64 1 release, align 8 | |
| %26 = icmp eq i64 %25, 0 | |
| br i1 %26, label %then13, label %else14 | |
| else11: ; preds = %then7 | |
| br label %phi12 | |
| phi12: ; preds = %phi15, %else11 | |
| %_fmm_1f1 = phi {} [ zeroinitializer, %phi15 ], [ zeroinitializer, %else11 ] | |
| br label %phi9 | |
| then13: ; preds = %then10 | |
| fence acquire | |
| %27 = ptrtoint { i64, i8 }* %_fmm_1ee to i64 | |
| %28 = inttoptr i64 %27 to i8* | |
| %29 = ptrtoint i8* %28 to i64 | |
| %30 = inttoptr i64 %29 to i64* | |
| %31 = getelementptr i64, i64* %30, i64 -1 | |
| %32 = ptrtoint i64* %31 to i64 | |
| %33 = inttoptr i64 %32 to i8* | |
| call void @_pen_free(i8* %33) | |
| br label %phi15 | |
| else14: ; preds = %then10 | |
| br label %phi15 | |
| phi15: ; preds = %else14, %then13 | |
| %_fmm_1f0 = phi {} [ zeroinitializer, %then13 ], [ zeroinitializer, %else14 ] | |
| br label %phi12 | |
| then16: ; preds = %phi9 | |
| %34 = ptrtoint { i64, i8 }* %_fmm_1f4 to i64 | |
| %35 = and i64 %34, 1 | |
| %36 = icmp ne i64 %35, 1 | |
| br i1 %36, label %then19, label %else20 | |
| else17: ; preds = %phi9 | |
| br label %phi18 | |
| phi18: ; preds = %phi21, %else17 | |
| %_fmm_1f8 = phi {} [ zeroinitializer, %phi21 ], [ zeroinitializer, %else17 ] | |
| %37 = ptrtoint {}* %0 to i64 | |
| %38 = inttoptr i64 %37 to i8* | |
| %39 = ptrtoint i8* %38 to i64 | |
| %40 = inttoptr i64 %39 to i64* | |
| %41 = getelementptr i64, i64* %40, i64 -1 | |
| %42 = ptrtoint i64* %41 to i64 | |
| %43 = inttoptr i64 %42 to i8* | |
| call void @_pen_free(i8* %43) | |
| br label %phi6 | |
| then19: ; preds = %then16 | |
| %44 = ptrtoint { i64, i8 }* %_fmm_1f4 to i64 | |
| %45 = inttoptr i64 %44 to i64* | |
| %46 = getelementptr i64, i64* %45, i64 -1 | |
| %47 = atomicrmw sub i64* %46, i64 1 release, align 8 | |
| %48 = icmp eq i64 %47, 0 | |
| br i1 %48, label %then22, label %else23 | |
| else20: ; preds = %then16 | |
| br label %phi21 | |
| phi21: ; preds = %phi24, %else20 | |
| %_fmm_1f7 = phi {} [ zeroinitializer, %phi24 ], [ zeroinitializer, %else20 ] | |
| br label %phi18 | |
| then22: ; preds = %then19 | |
| fence acquire | |
| %49 = ptrtoint { i64, i8 }* %_fmm_1f4 to i64 | |
| %50 = inttoptr i64 %49 to i8* | |
| %51 = ptrtoint i8* %50 to i64 | |
| %52 = inttoptr i64 %51 to i64* | |
| %53 = getelementptr i64, i64* %52, i64 -1 | |
| %54 = ptrtoint i64* %53 to i64 | |
| %55 = inttoptr i64 %54 to i8* | |
| call void @_pen_free(i8* %55) | |
| br label %phi24 | |
| else23: ; preds = %then19 | |
| br label %phi24 | |
| phi24: ; preds = %else23, %then22 | |
| %_fmm_1f6 = phi {} [ zeroinitializer, %then22 ], [ zeroinitializer, %else23 ] | |
| br label %phi21 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Udp/Socket.pen:Socket"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_1fe = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_1fd = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Udp/Socket.pen:Socket"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_209 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_208 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { { {} (i64)*, {} (i64)* }*, i64 } }* | |
| %_fmm_200 = load { { { {} (i64)*, {} (i64)* }*, i64 } }, { { { {} (i64)*, {} (i64)* }*, i64 } }* %12, align 8 | |
| %_fmm_201 = extractvalue { { { {} (i64)*, {} (i64)* }*, i64 } } %_fmm_200, 0 | |
| %_fmm_202 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_201, 0 | |
| %_fmm_203 = load { {} (i64)*, {} (i64)* }, { {} (i64)*, {} (i64)* }* %_fmm_202, align 8 | |
| %_fmm_204 = extractvalue { {} (i64)*, {} (i64)* } %_fmm_203, 1 | |
| %_fmm_205 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_201, 1 | |
| %_fmm_206 = tail call {} %_fmm_204(i64 %_fmm_205) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to i8* | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to i64* | |
| %17 = getelementptr i64, i64* %16, i64 -1 | |
| %18 = ptrtoint i64* %17 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| call void @_pen_free(i8* %19) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_207 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/array.pen:Array"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_20c = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_20b = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/array.pen:Array"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_217 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_216 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { { {} (i64)*, {} (i64)* }*, i64 } }* | |
| %_fmm_20e = load { { { {} (i64)*, {} (i64)* }*, i64 } }, { { { {} (i64)*, {} (i64)* }*, i64 } }* %12, align 8 | |
| %_fmm_20f = extractvalue { { { {} (i64)*, {} (i64)* }*, i64 } } %_fmm_20e, 0 | |
| %_fmm_210 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_20f, 0 | |
| %_fmm_211 = load { {} (i64)*, {} (i64)* }, { {} (i64)*, {} (i64)* }* %_fmm_210, align 8 | |
| %_fmm_212 = extractvalue { {} (i64)*, {} (i64)* } %_fmm_211, 1 | |
| %_fmm_213 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_20f, 1 | |
| %_fmm_214 = tail call {} %_fmm_212(i64 %_fmm_213) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to i8* | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to i64* | |
| %17 = getelementptr i64, i64* %16, i64 -1 | |
| %18 = ptrtoint i64* %17 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| call void @_pen_free(i8* %19) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_215 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/normalFile.pen:NormalFile"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_21a = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_219 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/normalFile.pen:NormalFile"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_225 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_224 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { { {} (i64)*, {} (i64)* }*, i64 } }* | |
| %_fmm_21c = load { { { {} (i64)*, {} (i64)* }*, i64 } }, { { { {} (i64)*, {} (i64)* }*, i64 } }* %12, align 8 | |
| %_fmm_21d = extractvalue { { { {} (i64)*, {} (i64)* }*, i64 } } %_fmm_21c, 0 | |
| %_fmm_21e = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_21d, 0 | |
| %_fmm_21f = load { {} (i64)*, {} (i64)* }, { {} (i64)*, {} (i64)* }* %_fmm_21e, align 8 | |
| %_fmm_220 = extractvalue { {} (i64)*, {} (i64)* } %_fmm_21f, 1 | |
| %_fmm_221 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_21d, 1 | |
| %_fmm_222 = tail call {} %_fmm_220(i64 %_fmm_221) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to i8* | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to i64* | |
| %17 = getelementptr i64, i64* %16, i64 -1 | |
| %18 = ptrtoint i64* %17 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| call void @_pen_free(i8* %19) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_223 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define linkonce {} @"mir_clone_/arguments.pen:Arguments"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_228 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_227 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_/arguments.pen:Arguments"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_232 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_231 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { i64, i8 }* }* | |
| %_fmm_22a = load { { i64, i8 }* }, { { i64, i8 }* }* %12, align 8 | |
| %_fmm_22b = extractvalue { { i64, i8 }* } %_fmm_22a, 0 | |
| %13 = ptrtoint { i64, i8 }* %_fmm_22b to i64 | |
| %14 = icmp ne i64 %13, 0 | |
| br i1 %14, label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %phi9, %else5 | |
| %_fmm_230 = phi {} [ zeroinitializer, %phi9 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| then7: ; preds = %then4 | |
| %15 = ptrtoint { i64, i8 }* %_fmm_22b to i64 | |
| %16 = and i64 %15, 1 | |
| %17 = icmp ne i64 %16, 1 | |
| br i1 %17, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| br label %phi9 | |
| phi9: ; preds = %phi12, %else8 | |
| %_fmm_22f = phi {} [ zeroinitializer, %phi12 ], [ zeroinitializer, %else8 ] | |
| %18 = ptrtoint {}* %0 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| %20 = ptrtoint i8* %19 to i64 | |
| %21 = inttoptr i64 %20 to i64* | |
| %22 = getelementptr i64, i64* %21, i64 -1 | |
| %23 = ptrtoint i64* %22 to i64 | |
| %24 = inttoptr i64 %23 to i8* | |
| call void @_pen_free(i8* %24) | |
| br label %phi6 | |
| then10: ; preds = %then7 | |
| %25 = ptrtoint { i64, i8 }* %_fmm_22b to i64 | |
| %26 = inttoptr i64 %25 to i64* | |
| %27 = getelementptr i64, i64* %26, i64 -1 | |
| %28 = atomicrmw sub i64* %27, i64 1 release, align 8 | |
| %29 = icmp eq i64 %28, 0 | |
| br i1 %29, label %then13, label %else14 | |
| else11: ; preds = %then7 | |
| br label %phi12 | |
| phi12: ; preds = %phi15, %else11 | |
| %_fmm_22e = phi {} [ zeroinitializer, %phi15 ], [ zeroinitializer, %else11 ] | |
| br label %phi9 | |
| then13: ; preds = %then10 | |
| fence acquire | |
| %30 = ptrtoint { i64, i8 }* %_fmm_22b to i64 | |
| %31 = inttoptr i64 %30 to i8* | |
| %32 = ptrtoint i8* %31 to i64 | |
| %33 = inttoptr i64 %32 to i64* | |
| %34 = getelementptr i64, i64* %33, i64 -1 | |
| %35 = ptrtoint i64* %34 to i64 | |
| %36 = inttoptr i64 %35 to i8* | |
| call void @_pen_free(i8* %36) | |
| br label %phi15 | |
| else14: ; preds = %then10 | |
| br label %phi15 | |
| phi15: ; preds = %else14, %then13 | |
| %_fmm_22d = phi {} [ zeroinitializer, %then13 ], [ zeroinitializer, %else14 ] | |
| br label %phi12 | |
| } | |
| define linkonce {} @"mir_clone_prelude:_AnyList"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_235 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_234 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_prelude:_AnyList"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_241 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_240 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* }* | |
| %_fmm_237 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* }* %12, align 8 | |
| %_fmm_238 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* } %_fmm_237, 0 | |
| %13 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_238 to i64 | |
| %14 = icmp ne i64 %13, 0 | |
| br i1 %14, label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %phi9, %else5 | |
| %_fmm_23f = phi {} [ zeroinitializer, %phi9 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| then7: ; preds = %then4 | |
| %15 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_238 to i64 | |
| %16 = and i64 %15, 1 | |
| %17 = icmp ne i64 %16, 1 | |
| br i1 %17, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| br label %phi9 | |
| phi9: ; preds = %phi12, %else8 | |
| %_fmm_23e = phi {} [ zeroinitializer, %phi12 ], [ zeroinitializer, %else8 ] | |
| %18 = ptrtoint {}* %0 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| %20 = ptrtoint i8* %19 to i64 | |
| %21 = inttoptr i64 %20 to i64* | |
| %22 = getelementptr i64, i64* %21, i64 -1 | |
| %23 = ptrtoint i64* %22 to i64 | |
| %24 = inttoptr i64 %23 to i8* | |
| call void @_pen_free(i8* %24) | |
| br label %phi6 | |
| then10: ; preds = %then7 | |
| %25 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_238 to i64 | |
| %26 = inttoptr i64 %25 to i64* | |
| %27 = getelementptr i64, i64* %26, i64 -1 | |
| %28 = atomicrmw sub i64* %27, i64 1 release, align 8 | |
| %29 = icmp eq i64 %28, 0 | |
| br i1 %29, label %then13, label %else14 | |
| else11: ; preds = %then7 | |
| br label %phi12 | |
| phi12: ; preds = %phi15, %else11 | |
| %_fmm_23d = phi {} [ zeroinitializer, %phi15 ], [ zeroinitializer, %else11 ] | |
| br label %phi9 | |
| then13: ; preds = %then10 | |
| fence acquire | |
| %30 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_238 to i64 | |
| %31 = and i64 %30, -2 | |
| %32 = inttoptr i64 %31 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* | |
| %33 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %32, i32 0, i32 1 | |
| %_fmm_23a = load {} (i64)*, {} (i64)** %33, align 8 | |
| %34 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_238 to i64 | |
| %_fmm_23b = tail call {} %_fmm_23a(i64 %34) | |
| %35 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_238 to i64 | |
| %36 = inttoptr i64 %35 to i8* | |
| %37 = ptrtoint i8* %36 to i64 | |
| %38 = inttoptr i64 %37 to i64* | |
| %39 = getelementptr i64, i64* %38, i64 -1 | |
| %40 = ptrtoint i64* %39 to i64 | |
| %41 = inttoptr i64 %40 to i8* | |
| call void @_pen_free(i8* %41) | |
| br label %phi15 | |
| else14: ; preds = %then10 | |
| br label %phi15 | |
| phi15: ; preds = %else14, %then13 | |
| %_fmm_23c = phi {} [ zeroinitializer, %then13 ], [ zeroinitializer, %else14 ] | |
| br label %phi12 | |
| } | |
| define linkonce {} @"mir_clone_prelude:_FirstRest"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_244 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_243 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_prelude:_FirstRest"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_253 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_252 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, {}* }* | |
| %_fmm_246 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, {}* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, {}* }* %12, align 8 | |
| %_fmm_247 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, {}* } %_fmm_246, 0 | |
| %13 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_247 to i64 | |
| %14 = icmp ne i64 %13, 0 | |
| br i1 %14, label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %phi9, %else5 | |
| %_fmm_251 = phi {} [ zeroinitializer, %phi9 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| then7: ; preds = %then4 | |
| %15 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_247 to i64 | |
| %16 = and i64 %15, 1 | |
| %17 = icmp ne i64 %16, 1 | |
| br i1 %17, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| br label %phi9 | |
| phi9: ; preds = %phi12, %else8 | |
| %_fmm_24d = phi {} [ zeroinitializer, %phi12 ], [ zeroinitializer, %else8 ] | |
| %18 = ptrtoint {}* %0 to i64 | |
| %19 = inttoptr i64 %18 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, {}* }* | |
| %_fmm_24e = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, {}* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, {}* }* %19, align 8 | |
| %_fmm_24f = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, {}* } %_fmm_24e, 1 | |
| %_fmm_250 = tail call {} @"mir_drop_prelude:_AnyList"({}* %_fmm_24f) | |
| %20 = ptrtoint {}* %0 to i64 | |
| %21 = inttoptr i64 %20 to i8* | |
| %22 = ptrtoint i8* %21 to i64 | |
| %23 = inttoptr i64 %22 to i64* | |
| %24 = getelementptr i64, i64* %23, i64 -1 | |
| %25 = ptrtoint i64* %24 to i64 | |
| %26 = inttoptr i64 %25 to i8* | |
| call void @_pen_free(i8* %26) | |
| br label %phi6 | |
| then10: ; preds = %then7 | |
| %27 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_247 to i64 | |
| %28 = inttoptr i64 %27 to i64* | |
| %29 = getelementptr i64, i64* %28, i64 -1 | |
| %30 = atomicrmw sub i64* %29, i64 1 release, align 8 | |
| %31 = icmp eq i64 %30, 0 | |
| br i1 %31, label %then13, label %else14 | |
| else11: ; preds = %then7 | |
| br label %phi12 | |
| phi12: ; preds = %phi15, %else11 | |
| %_fmm_24c = phi {} [ zeroinitializer, %phi15 ], [ zeroinitializer, %else11 ] | |
| br label %phi9 | |
| then13: ; preds = %then10 | |
| fence acquire | |
| %32 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_247 to i64 | |
| %33 = and i64 %32, -2 | |
| %34 = inttoptr i64 %33 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* | |
| %35 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %34, i32 0, i32 1 | |
| %_fmm_249 = load {} (i64)*, {} (i64)** %35, align 8 | |
| %36 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_247 to i64 | |
| %_fmm_24a = tail call {} %_fmm_249(i64 %36) | |
| %37 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_247 to i64 | |
| %38 = inttoptr i64 %37 to i8* | |
| %39 = ptrtoint i8* %38 to i64 | |
| %40 = inttoptr i64 %39 to i64* | |
| %41 = getelementptr i64, i64* %40, i64 -1 | |
| %42 = ptrtoint i64* %41 to i64 | |
| %43 = inttoptr i64 %42 to i8* | |
| call void @_pen_free(i8* %43) | |
| br label %phi15 | |
| else14: ; preds = %then10 | |
| br label %phi15 | |
| phi15: ; preds = %else14, %then13 | |
| %_fmm_24b = phi {} [ zeroinitializer, %then13 ], [ zeroinitializer, %else14 ] | |
| br label %phi12 | |
| } | |
| define linkonce {} @"mir_clone_prelude:_Node"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_256 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_255 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_prelude:_Node"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_26a = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_269 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* }* | |
| %_fmm_258 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* }* %12, align 8 | |
| %_fmm_259 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* } %_fmm_258, 0 | |
| %13 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_259 to i64 | |
| %14 = icmp ne i64 %13, 0 | |
| br i1 %14, label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %phi18, %else5 | |
| %_fmm_268 = phi {} [ zeroinitializer, %phi18 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| then7: ; preds = %then4 | |
| %15 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_259 to i64 | |
| %16 = and i64 %15, 1 | |
| %17 = icmp ne i64 %16, 1 | |
| br i1 %17, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| br label %phi9 | |
| phi9: ; preds = %phi12, %else8 | |
| %_fmm_25f = phi {} [ zeroinitializer, %phi12 ], [ zeroinitializer, %else8 ] | |
| %18 = ptrtoint {}* %0 to i64 | |
| %19 = inttoptr i64 %18 to { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* }* | |
| %_fmm_260 = load { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* }, { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* }* %19, align 8 | |
| %_fmm_261 = extractvalue { { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }*, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* } %_fmm_260, 1 | |
| %20 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_261 to i64 | |
| %21 = icmp ne i64 %20, 0 | |
| br i1 %21, label %then16, label %else17 | |
| then10: ; preds = %then7 | |
| %22 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_259 to i64 | |
| %23 = inttoptr i64 %22 to i64* | |
| %24 = getelementptr i64, i64* %23, i64 -1 | |
| %25 = atomicrmw sub i64* %24, i64 1 release, align 8 | |
| %26 = icmp eq i64 %25, 0 | |
| br i1 %26, label %then13, label %else14 | |
| else11: ; preds = %then7 | |
| br label %phi12 | |
| phi12: ; preds = %phi15, %else11 | |
| %_fmm_25e = phi {} [ zeroinitializer, %phi15 ], [ zeroinitializer, %else11 ] | |
| br label %phi9 | |
| then13: ; preds = %then10 | |
| fence acquire | |
| %27 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_259 to i64 | |
| %28 = and i64 %27, -2 | |
| %29 = inttoptr i64 %28 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* | |
| %30 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %29, i32 0, i32 1 | |
| %_fmm_25b = load {} (i64)*, {} (i64)** %30, align 8 | |
| %31 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_259 to i64 | |
| %_fmm_25c = tail call {} %_fmm_25b(i64 %31) | |
| %32 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_259 to i64 | |
| %33 = inttoptr i64 %32 to i8* | |
| %34 = ptrtoint i8* %33 to i64 | |
| %35 = inttoptr i64 %34 to i64* | |
| %36 = getelementptr i64, i64* %35, i64 -1 | |
| %37 = ptrtoint i64* %36 to i64 | |
| %38 = inttoptr i64 %37 to i8* | |
| call void @_pen_free(i8* %38) | |
| br label %phi15 | |
| else14: ; preds = %then10 | |
| br label %phi15 | |
| phi15: ; preds = %else14, %then13 | |
| %_fmm_25d = phi {} [ zeroinitializer, %then13 ], [ zeroinitializer, %else14 ] | |
| br label %phi12 | |
| then16: ; preds = %phi9 | |
| %39 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_261 to i64 | |
| %40 = and i64 %39, 1 | |
| %41 = icmp ne i64 %40, 1 | |
| br i1 %41, label %then19, label %else20 | |
| else17: ; preds = %phi9 | |
| br label %phi18 | |
| phi18: ; preds = %phi21, %else17 | |
| %_fmm_267 = phi {} [ zeroinitializer, %phi21 ], [ zeroinitializer, %else17 ] | |
| %42 = ptrtoint {}* %0 to i64 | |
| %43 = inttoptr i64 %42 to i8* | |
| %44 = ptrtoint i8* %43 to i64 | |
| %45 = inttoptr i64 %44 to i64* | |
| %46 = getelementptr i64, i64* %45, i64 -1 | |
| %47 = ptrtoint i64* %46 to i64 | |
| %48 = inttoptr i64 %47 to i8* | |
| call void @_pen_free(i8* %48) | |
| br label %phi6 | |
| then19: ; preds = %then16 | |
| %49 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_261 to i64 | |
| %50 = inttoptr i64 %49 to i64* | |
| %51 = getelementptr i64, i64* %50, i64 -1 | |
| %52 = atomicrmw sub i64* %51, i64 1 release, align 8 | |
| %53 = icmp eq i64 %52, 0 | |
| br i1 %53, label %then22, label %else23 | |
| else20: ; preds = %then16 | |
| br label %phi21 | |
| phi21: ; preds = %phi24, %else20 | |
| %_fmm_266 = phi {} [ zeroinitializer, %phi24 ], [ zeroinitializer, %else20 ] | |
| br label %phi18 | |
| then22: ; preds = %then19 | |
| fence acquire | |
| %54 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_261 to i64 | |
| %55 = and i64 %54, -2 | |
| %56 = inttoptr i64 %55 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* | |
| %57 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %56, i32 0, i32 1 | |
| %_fmm_263 = load {} (i64)*, {} (i64)** %57, align 8 | |
| %58 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_261 to i64 | |
| %_fmm_264 = tail call {} %_fmm_263(i64 %58) | |
| %59 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*)*, {} (i64)*, {} }* %_fmm_261 to i64 | |
| %60 = inttoptr i64 %59 to i8* | |
| %61 = ptrtoint i8* %60 to i64 | |
| %62 = inttoptr i64 %61 to i64* | |
| %63 = getelementptr i64, i64* %62, i64 -1 | |
| %64 = ptrtoint i64* %63 to i64 | |
| %65 = inttoptr i64 %64 to i8* | |
| call void @_pen_free(i8* %65) | |
| br label %phi24 | |
| else23: ; preds = %then19 | |
| br label %phi24 | |
| phi24: ; preds = %else23, %then22 | |
| %_fmm_265 = phi {} [ zeroinitializer, %then22 ], [ zeroinitializer, %else23 ] | |
| br label %phi21 | |
| } | |
| define linkonce {} @"mir_clone_prelude:error"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_26d = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw add i64* %8, i64 1 monotonic, align 8 | |
| br label %phi3 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_fmm_26c = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| } | |
| define linkonce {} @"mir_drop_prelude:error"({}* %0) { | |
| entry: | |
| %1 = ptrtoint {}* %0 to i64 | |
| %2 = icmp ne i64 %1, 0 | |
| br i1 %2, label %then, label %else | |
| then: ; preds = %entry | |
| %3 = ptrtoint {}* %0 to i64 | |
| %4 = and i64 %3, 1 | |
| %5 = icmp ne i64 %4, 1 | |
| br i1 %5, label %then1, label %else2 | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %phi3, %else | |
| %_fmm_278 = phi {} [ zeroinitializer, %phi3 ], [ zeroinitializer, %else ] | |
| ret {} zeroinitializer | |
| then1: ; preds = %then | |
| %6 = ptrtoint {}* %0 to i64 | |
| %7 = inttoptr i64 %6 to i64* | |
| %8 = getelementptr i64, i64* %7, i64 -1 | |
| %9 = atomicrmw sub i64* %8, i64 1 release, align 8 | |
| %10 = icmp eq i64 %9, 0 | |
| br i1 %10, label %then4, label %else5 | |
| else2: ; preds = %then | |
| br label %phi3 | |
| phi3: ; preds = %phi6, %else2 | |
| %_fmm_277 = phi {} [ zeroinitializer, %phi6 ], [ zeroinitializer, %else2 ] | |
| br label %phi | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %11 = ptrtoint {}* %0 to i64 | |
| %12 = inttoptr i64 %11 to { { { {} (i64)*, {} (i64)* }*, i64 } }* | |
| %_fmm_26f = load { { { {} (i64)*, {} (i64)* }*, i64 } }, { { { {} (i64)*, {} (i64)* }*, i64 } }* %12, align 8 | |
| %_fmm_270 = extractvalue { { { {} (i64)*, {} (i64)* }*, i64 } } %_fmm_26f, 0 | |
| %_fmm_271 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_270, 0 | |
| %_fmm_272 = load { {} (i64)*, {} (i64)* }, { {} (i64)*, {} (i64)* }* %_fmm_271, align 8 | |
| %_fmm_273 = extractvalue { {} (i64)*, {} (i64)* } %_fmm_272, 1 | |
| %_fmm_274 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %_fmm_270, 1 | |
| %_fmm_275 = tail call {} %_fmm_273(i64 %_fmm_274) | |
| %13 = ptrtoint {}* %0 to i64 | |
| %14 = inttoptr i64 %13 to i8* | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to i64* | |
| %17 = getelementptr i64, i64* %16, i64 -1 | |
| %18 = ptrtoint i64* %17 to i64 | |
| %19 = inttoptr i64 %18 to i8* | |
| call void @_pen_free(i8* %19) | |
| br label %phi6 | |
| else5: ; preds = %then1 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_fmm_276 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| br label %phi3 | |
| } | |
| define internal fastcc {} @_fmm_279({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2, {}* %3) { | |
| entry: | |
| br i1 icmp ne (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:main" to i64), i64 1), i64 0), label %then, label %else | |
| then: ; preds = %entry | |
| br i1 icmp ne (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:main" to i64), i64 1), i64 1), i64 1), label %then1, label %else2 | |
| else: ; preds = %entry | |
| %_result9 = tail call fastcc {} @_if_0({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %3) | |
| ret {} %_result9 | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then1: ; preds = %then | |
| %4 = atomicrmw sub i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:main" to i64), i64 1) to i64*), i64 -1), i64 1 release, align 8 | |
| %5 = icmp eq i64 %4, 0 | |
| br i1 %5, label %then4, label %else5 | |
| else2: ; preds = %then | |
| %_result8 = tail call fastcc {} @_if_a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %3) | |
| ret {} %_result8 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %_fmm_27b = load {} (i64)*, {} (i64)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:main" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 1), align 8 | |
| %_fmm_27c = tail call {} %_fmm_27b(i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:main" to i64), i64 1)) | |
| call void @_pen_free(i8* bitcast (i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:main" to i64), i64 1) to i64*), i64 -1) to i8*)) | |
| %_result = tail call fastcc {} @_if_c({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %3) | |
| ret {} %_result | |
| else5: ; preds = %then1 | |
| %_result7 = tail call fastcc {} @_if_c({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %3) | |
| ret {} %_result7 | |
| phi6: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal {} @_fmm_29f(i64 %0) { | |
| entry: | |
| %1 = inttoptr i64 %0 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* | |
| %2 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* %1 to i64 | |
| %3 = and i64 %2, -2 | |
| %4 = inttoptr i64 %3 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* | |
| %5 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* %4, i32 0, i32 2 | |
| %6 = ptrtoint {}* %5 to i64 | |
| %7 = inttoptr i64 %6 to {}* | |
| %_fmm_2a0 = load {}, {}* %7, align 1 | |
| ret {} zeroinitializer | |
| } | |
| define internal fastcc {} @_fmm_2a1({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3) { | |
| entry: | |
| br i1 icmp ne (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:run" to i64), i64 1), i64 0), label %then, label %else | |
| then: ; preds = %entry | |
| br i1 icmp ne (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:run" to i64), i64 1), i64 1), i64 1), label %then1, label %else2 | |
| else: ; preds = %entry | |
| %_result9 = tail call fastcc {} @_if_11({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %3) | |
| ret {} %_result9 | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then1: ; preds = %then | |
| %4 = atomicrmw sub i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:run" to i64), i64 1) to i64*), i64 -1), i64 1 release, align 8 | |
| %5 = icmp eq i64 %4, 0 | |
| br i1 %5, label %then4, label %else5 | |
| else2: ; preds = %then | |
| %_result8 = tail call fastcc {} @_if_21({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %3) | |
| ret {} %_result8 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %_fmm_2a3 = load {} (i64)*, {} (i64)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:run" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 1), align 8 | |
| %_fmm_2a4 = tail call {} %_fmm_2a3(i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:run" to i64), i64 1)) | |
| call void @_pen_free(i8* bitcast (i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:run" to i64), i64 1) to i64*), i64 -1) to i8*)) | |
| %_result = tail call fastcc {} @_if_23({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %3) | |
| ret {} %_result | |
| else5: ; preds = %then1 | |
| %_result7 = tail call fastcc {} @_if_23({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %3) | |
| ret {} %_result7 | |
| phi6: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal {} @_fmm_2cb(i64 %0) { | |
| entry: | |
| %1 = inttoptr i64 %0 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* | |
| %2 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* %1 to i64 | |
| %3 = and i64 %2, -2 | |
| %4 = inttoptr i64 %3 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* | |
| %5 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* %4, i32 0, i32 2 | |
| %6 = ptrtoint {}* %5 to i64 | |
| %7 = inttoptr i64 %6 to {}* | |
| %_fmm_2cc = load {}, {}* %7, align 1 | |
| ret {} zeroinitializer | |
| } | |
| define internal fastcc {} @_fmm_2cd({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_fmm_2ce = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %3) | |
| %_fmm_2cf = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener"({}* %4) | |
| %_fmm_2d0 = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Accept" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_10 = load i64, i64* %5, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_11 = phi i64 [ 0, %then ], [ 24, %else ] | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %_k_12 = load i64, i64* %6, align 4 | |
| %7 = add i64 %_k_10, %_k_11 | |
| %8 = icmp ugt i64 %7, %_k_12 | |
| br i1 %8, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %9 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_13 = load i8*, i8** %9, align 8 | |
| %10 = mul i64 %_k_12, 2 | |
| %_k_14 = call i8* @_pen_realloc(i8* %_k_13, i64 %10) | |
| %11 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| store i8* %_k_14, i8** %11, align 8 | |
| %12 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %13 = mul i64 %_k_12, 2 | |
| store i64 %13, i64* %12, align 4 | |
| br label %phi3 | |
| else2: ; preds = %phi | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_k_15 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| %14 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_16 = load i8*, i8** %14, align 8 | |
| %15 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_17 = load i64, i64* %15, align 4 | |
| %16 = getelementptr i8, i8* %_k_16, i64 %_k_17 | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* }* | |
| %19 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } zeroinitializer, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, 0 | |
| %20 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %19, {}* %3, 1 | |
| %21 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %20, {}* %4, 2 | |
| store { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %21, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* }* %18, align 8 | |
| %22 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %23 = add i64 %_k_10, %_k_11 | |
| store i64 %23, i64* %22, align 4 | |
| %_result = tail call fastcc {} %_fmm_2d0({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* @_k_6, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Accept" to i64), i64 1) to {}*), {}* %3, {}* %4) | |
| ret {} %_result | |
| } | |
| define internal {} @_fmm_333(i64 %0) { | |
| entry: | |
| %1 = inttoptr i64 %0 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* | |
| %2 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* %1 to i64 | |
| %3 = and i64 %2, -2 | |
| %4 = inttoptr i64 %3 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* | |
| %5 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* %4, i32 0, i32 2 | |
| %6 = ptrtoint {}* %5 to i64 | |
| %7 = inttoptr i64 %6 to {}* | |
| %_fmm_334 = load {}, {}* %7, align 1 | |
| ret {} zeroinitializer | |
| } | |
| define internal fastcc {} @_fmm_335({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2, {}* %3) { | |
| entry: | |
| br i1 icmp ne (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @_pen_main__wrapper to i64), i64 1), i64 0), label %then, label %else | |
| then: ; preds = %entry | |
| br i1 icmp ne (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @_pen_main__wrapper to i64), i64 1), i64 1), i64 1), label %then1, label %else2 | |
| else: ; preds = %entry | |
| %_result9 = tail call fastcc {} @_if_6b({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %3) | |
| ret {} %_result9 | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then1: ; preds = %then | |
| %4 = atomicrmw sub i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @_pen_main__wrapper to i64), i64 1) to i64*), i64 -1), i64 1 release, align 8 | |
| %5 = icmp eq i64 %4, 0 | |
| br i1 %5, label %then4, label %else5 | |
| else2: ; preds = %then | |
| %_result8 = tail call fastcc {} @_if_6d({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %3) | |
| ret {} %_result8 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %_fmm_337 = load {} (i64)*, {} (i64)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @_pen_main__wrapper to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 1), align 8 | |
| %_fmm_338 = tail call {} %_fmm_337(i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @_pen_main__wrapper to i64), i64 1)) | |
| call void @_pen_free(i8* bitcast (i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @_pen_main__wrapper to i64), i64 1) to i64*), i64 -1) to i8*)) | |
| %_result = tail call fastcc {} @_if_6f({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %3) | |
| ret {} %_result | |
| else5: ; preds = %then1 | |
| %_result7 = tail call fastcc {} @_if_6f({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %3) | |
| ret {} %_result7 | |
| phi6: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal {} @_fmm_33e(i64 %0) { | |
| entry: | |
| %1 = inttoptr i64 %0 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* | |
| %2 = ptrtoint { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* %1 to i64 | |
| %3 = and i64 %2, -2 | |
| %4 = inttoptr i64 %3 to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* | |
| %5 = getelementptr { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, double)*, {} (i64)*, {} }* %4, i32 0, i32 2 | |
| %6 = ptrtoint {}* %5 to i64 | |
| %7 = inttoptr i64 %6 to {}* | |
| %_fmm_33f = load {}, {}* %7, align 1 | |
| ret {} zeroinitializer | |
| } | |
| define fastcc {} @_pen_main({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) { | |
| entry: | |
| %_fmm_340 = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @_pen_main__wrapper to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %_result = tail call fastcc {} %_fmm_340({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @_pen_main__wrapper to i64), i64 1) to {}*), {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_1({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, double %2) { | |
| entry: | |
| %_result = tail call fastcc {} %1({ i8*, i64, i64 }* %0, double %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_4({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, double %2) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_1({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, double %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_6({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, { i64, i8 }* %2, {}* %3) { | |
| entry: | |
| %_fmm_296 = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* @"/.pen/default/packages/cc2ed307d895f924/Print.pen:Line" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %4 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_21 = load i64, i64* %4, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_22 = phi i64 [ 0, %then ], [ 8, %else ] | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %_k_23 = load i64, i64* %5, align 4 | |
| %6 = add i64 %_k_21, %_k_22 | |
| %7 = icmp ugt i64 %6, %_k_23 | |
| br i1 %7, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %8 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_24 = load i8*, i8** %8, align 8 | |
| %9 = mul i64 %_k_23, 2 | |
| %_k_25 = call i8* @_pen_realloc(i8* %_k_24, i64 %9) | |
| %10 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| store i8* %_k_25, i8** %10, align 8 | |
| %11 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %12 = mul i64 %_k_23, 2 | |
| store i64 %12, i64* %11, align 4 | |
| br label %phi3 | |
| else2: ; preds = %phi | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_k_26 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| %13 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_27 = load i8*, i8** %13, align 8 | |
| %14 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_28 = load i64, i64* %14, align 4 | |
| %15 = getelementptr i8, i8* %_k_27, i64 %_k_28 | |
| %16 = ptrtoint i8* %15 to i64 | |
| %17 = inttoptr i64 %16 to { {} ({ i8*, i64, i64 }*, double)* }* | |
| %18 = insertvalue { {} ({ i8*, i64, i64 }*, double)* } zeroinitializer, {} ({ i8*, i64, i64 }*, double)* %1, 0 | |
| store { {} ({ i8*, i64, i64 }*, double)* } %18, { {} ({ i8*, i64, i64 }*, double)* }* %17, align 8 | |
| %19 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %20 = add i64 %_k_21, %_k_22 | |
| store i64 %20, i64* %19, align 4 | |
| %_result = tail call fastcc {} %_fmm_296({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* @_k_1b, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* @"/.pen/default/packages/cc2ed307d895f924/Print.pen:Line" to i64), i64 1) to {}*), {}* %3, { i64, i8 }* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_0({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) { | |
| entry: | |
| %_fmm_280 = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %2) | |
| %_fmm_281 = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:run" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_40 = load i64, i64* %3, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_41 = phi i64 [ 0, %then ], [ 16, %else ] | |
| %4 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %_k_42 = load i64, i64* %4, align 4 | |
| %5 = add i64 %_k_40, %_k_41 | |
| %6 = icmp ugt i64 %5, %_k_42 | |
| br i1 %6, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %7 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_43 = load i8*, i8** %7, align 8 | |
| %8 = mul i64 %_k_42, 2 | |
| %_k_44 = call i8* @_pen_realloc(i8* %_k_43, i64 %8) | |
| %9 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| store i8* %_k_44, i8** %9, align 8 | |
| %10 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %11 = mul i64 %_k_42, 2 | |
| store i64 %11, i64* %10, align 4 | |
| br label %phi3 | |
| else2: ; preds = %phi | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_k_45 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| %12 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_46 = load i8*, i8** %12, align 8 | |
| %13 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_47 = load i64, i64* %13, align 4 | |
| %14 = getelementptr i8, i8* %_k_46, i64 %_k_47 | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to { {} ({ i8*, i64, i64 }*, double)*, {}* }* | |
| %17 = insertvalue { {} ({ i8*, i64, i64 }*, double)*, {}* } zeroinitializer, {} ({ i8*, i64, i64 }*, double)* %1, 0 | |
| %18 = insertvalue { {} ({ i8*, i64, i64 }*, double)*, {}* } %17, {}* %2, 1 | |
| store { {} ({ i8*, i64, i64 }*, double)*, {}* } %18, { {} ({ i8*, i64, i64 }*, double)*, {}* }* %16, align 8 | |
| %19 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %20 = add i64 %_k_40, %_k_41 | |
| store i64 %20, i64* %19, align 4 | |
| %_result = tail call fastcc {} %_fmm_281({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* @_k_29, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:run" to i64), i64 1) to {}*), {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_0({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_c({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_16({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3) { | |
| entry: | |
| %_fmm_2c9 = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %_result = tail call fastcc {} %_fmm_2c9({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1) to {}*), {}* %3, {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_15({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, { { {} (i64)*, {} (i64)* }*, i64 } %2, {}* %3) { | |
| entry: | |
| %_fmm_2c5 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %2, 0 | |
| %4 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_2c5 to i64 | |
| %5 = icmp eq i64 %4, ptrtoint ({ {} (i64)*, {} (i64)* }* @"Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener\22 })" to i64) | |
| br i1 %5, label %then, label %else | |
| then: ; preds = %entry | |
| %_fmm_2c6 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %2, 1 | |
| %6 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_2c6, 0 | |
| %7 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %6, { i64, [0 x i8] }* %7, align 4 | |
| %8 = bitcast { i64, [0 x i8] }* %7 to { [1 x i64] }* | |
| %9 = load { [1 x i64] }, { [1 x i64] }* %8, align 4 | |
| %10 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %9, { [1 x i64] }* %10, align 4 | |
| %11 = bitcast { [1 x i64] }* %10 to { {}*, [0 x i8] }* | |
| %12 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %11, align 8 | |
| %_fmm_2c7 = extractvalue { {}*, [0 x i8] } %12, 0 | |
| %_result = tail call fastcc {} @_if_16({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %_fmm_2c7, {}* %3) | |
| ret {} %_result | |
| else: ; preds = %entry | |
| call void @_pen_unreachable() | |
| unreachable | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_if_14({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4) { | |
| entry: | |
| %_fmm_2bd = tail call {} @"mir_drop_/arguments.pen:Arguments"({}* %2) | |
| %_fmm_2be = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Bind" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_50 = load i64, i64* %5, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_51 = phi i64 [ 0, %then ], [ 16, %else ] | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %_k_52 = load i64, i64* %6, align 4 | |
| %7 = add i64 %_k_50, %_k_51 | |
| %8 = icmp ugt i64 %7, %_k_52 | |
| br i1 %8, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %9 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_53 = load i8*, i8** %9, align 8 | |
| %10 = mul i64 %_k_52, 2 | |
| %_k_54 = call i8* @_pen_realloc(i8* %_k_53, i64 %10) | |
| %11 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| store i8* %_k_54, i8** %11, align 8 | |
| %12 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %13 = mul i64 %_k_52, 2 | |
| store i64 %13, i64* %12, align 4 | |
| br label %phi3 | |
| else2: ; preds = %phi | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_k_55 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| %14 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_56 = load i8*, i8** %14, align 8 | |
| %15 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_57 = load i64, i64* %15, align 4 | |
| %16 = getelementptr i8, i8* %_k_56, i64 %_k_57 | |
| %17 = ptrtoint i8* %16 to i64 | |
| %18 = inttoptr i64 %17 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* | |
| %19 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } zeroinitializer, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, 0 | |
| %20 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %19, {}* %4, 1 | |
| store { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %20, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* %18, align 8 | |
| %21 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %22 = add i64 %_k_50, %_k_51 | |
| store i64 %22, i64* %21, align 4 | |
| %_result = tail call fastcc {} %_fmm_2be({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* @_k_49, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Bind" to i64), i64 1) to {}*), {}* %4, { i64, i8 }* %3) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_1a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_14({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_13({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3) { | |
| entry: | |
| %_fmm_2b7 = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %3) | |
| %4 = ptrtoint {}* %2 to i64 | |
| %5 = inttoptr i64 %4 to { { i64, i8 }* }* | |
| %_fmm_2b8 = load { { i64, i8 }* }, { { i64, i8 }* }* %5, align 8 | |
| %_fmm_2b9 = extractvalue { { i64, i8 }* } %_fmm_2b8, 0 | |
| %6 = ptrtoint { i64, i8 }* %_fmm_2b9 to i64 | |
| %7 = icmp ne i64 %6, 0 | |
| br i1 %7, label %then, label %else | |
| then: ; preds = %entry | |
| %8 = ptrtoint { i64, i8 }* %_fmm_2b9 to i64 | |
| %9 = and i64 %8, 1 | |
| %10 = icmp ne i64 %9, 1 | |
| br i1 %10, label %then1, label %else2 | |
| else: ; preds = %entry | |
| %_result5 = tail call fastcc {} @_if_14({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %_fmm_2b9, {}* %3) | |
| ret {} %_result5 | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then1: ; preds = %then | |
| %11 = ptrtoint { i64, i8 }* %_fmm_2b9 to i64 | |
| %12 = inttoptr i64 %11 to i64* | |
| %13 = getelementptr i64, i64* %12, i64 -1 | |
| %14 = atomicrmw add i64* %13, i64 1 monotonic, align 8 | |
| %_result = tail call fastcc {} @_if_1a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %_fmm_2b9, {}* %3) | |
| ret {} %_result | |
| else2: ; preds = %then | |
| %_result4 = tail call fastcc {} @_if_1a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %_fmm_2b9, {}* %3) | |
| ret {} %_result4 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_if_12({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, { { {} (i64)*, {} (i64)* }*, i64 } %2, {}* %3) { | |
| entry: | |
| %_fmm_2b3 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %2, 0 | |
| %4 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_2b3 to i64 | |
| %5 = icmp eq i64 %4, ptrtoint ({ {} (i64)*, {} (i64)* }* @"Record(Record { name: \22/arguments.pen:Arguments\22 })" to i64) | |
| br i1 %5, label %then, label %else | |
| then: ; preds = %entry | |
| %_fmm_2b4 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %2, 1 | |
| %6 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_2b4, 0 | |
| %7 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %6, { i64, [0 x i8] }* %7, align 4 | |
| %8 = bitcast { i64, [0 x i8] }* %7 to { [1 x i64] }* | |
| %9 = load { [1 x i64] }, { [1 x i64] }* %8, align 4 | |
| %10 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %9, { [1 x i64] }* %10, align 4 | |
| %11 = bitcast { [1 x i64] }* %10 to { {}*, [0 x i8] }* | |
| %12 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %11, align 8 | |
| %_fmm_2b5 = extractvalue { {}*, [0 x i8] } %12, 0 | |
| %_result = tail call fastcc {} @_if_13({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %_fmm_2b5, {}* %3) | |
| ret {} %_result | |
| else: ; preds = %entry | |
| call void @_pen_unreachable() | |
| unreachable | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_if_11({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2) { | |
| entry: | |
| %_fmm_2a8 = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %2) | |
| %_fmm_2a9 = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* @"/.pen/default/packages/fb4346304f4058b6/Environment.pen:Arguments" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_70 = load i64, i64* %3, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_71 = phi i64 [ 0, %then ], [ 16, %else ] | |
| %4 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %_k_72 = load i64, i64* %4, align 4 | |
| %5 = add i64 %_k_70, %_k_71 | |
| %6 = icmp ugt i64 %5, %_k_72 | |
| br i1 %6, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %7 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_73 = load i8*, i8** %7, align 8 | |
| %8 = mul i64 %_k_72, 2 | |
| %_k_74 = call i8* @_pen_realloc(i8* %_k_73, i64 %8) | |
| %9 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| store i8* %_k_74, i8** %9, align 8 | |
| %10 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %11 = mul i64 %_k_72, 2 | |
| store i64 %11, i64* %10, align 4 | |
| br label %phi3 | |
| else2: ; preds = %phi | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_k_75 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| %12 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_76 = load i8*, i8** %12, align 8 | |
| %13 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_77 = load i64, i64* %13, align 4 | |
| %14 = getelementptr i8, i8* %_k_76, i64 %_k_77 | |
| %15 = ptrtoint i8* %14 to i64 | |
| %16 = inttoptr i64 %15 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* | |
| %17 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } zeroinitializer, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, 0 | |
| %18 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %17, {}* %2, 1 | |
| store { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %18, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* %16, align 8 | |
| %19 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %20 = add i64 %_k_70, %_k_71 | |
| store i64 %20, i64* %19, align 4 | |
| %_result = tail call fastcc {} %_fmm_2a9({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, {}*)* @_k_5b, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, {}*)*, {}*, {}*)*, {} (i64)*, {} }* @"/.pen/default/packages/fb4346304f4058b6/Environment.pen:Arguments" to i64), i64 1) to {}*), {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_21({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_11({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_23({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_21({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_30({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3) { | |
| entry: | |
| %_fmm_331 = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %_result = tail call fastcc {} %_fmm_331({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1) to {}*), {}* %2, {}* %3) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_2f({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, { { {} (i64)*, {} (i64)* }*, i64 } %2, {}* %3, {}* %4) { | |
| entry: | |
| %_fmm_32d = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %2, 0 | |
| %5 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_32d to i64 | |
| %6 = icmp eq i64 %5, ptrtoint ({ {} (i64)*, {} (i64)* }* @Number to i64) | |
| br i1 %6, label %then, label %else | |
| then: ; preds = %entry | |
| %_fmm_32e = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %2, 1 | |
| %7 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_32e, 0 | |
| %8 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %7, { i64, [0 x i8] }* %8, align 4 | |
| %9 = bitcast { i64, [0 x i8] }* %8 to { [1 x i64] }* | |
| %10 = load { [1 x i64] }, { [1 x i64] }* %9, align 4 | |
| %11 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %10, { [1 x i64] }* %11, align 4 | |
| %12 = bitcast { [1 x i64] }* %11 to { double, [0 x i8] }* | |
| %13 = load { double, [0 x i8] }, { double, [0 x i8] }* %12, align 8 | |
| %_fmm_32f = extractvalue { double, [0 x i8] } %13, 0 | |
| %_result = tail call fastcc {} @_if_30({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %3, {}* %4) | |
| ret {} %_result | |
| else: ; preds = %entry | |
| call void @_pen_unreachable() | |
| unreachable | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_if_32({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_fmm_329 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %3) | |
| %_fmm_32a = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener"({}* %4) | |
| %5 = insertvalue { {}*, [0 x i8] } zeroinitializer, {}* %2, 0 | |
| %6 = alloca { {}*, [0 x i8] }, align 8 | |
| store { {}*, [0 x i8] } %5, { {}*, [0 x i8] }* %6, align 8 | |
| %7 = bitcast { {}*, [0 x i8] }* %6 to { [1 x i64] }* | |
| %8 = load { [1 x i64] }, { [1 x i64] }* %7, align 4 | |
| %9 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %8, { [1 x i64] }* %9, align 4 | |
| %10 = bitcast { [1 x i64] }* %9 to { i64, [0 x i8] }* | |
| %11 = load { i64, [0 x i8] }, { i64, [0 x i8] }* %10, align 4 | |
| %_fmm_32b = extractvalue { i64, [0 x i8] } %11, 0 | |
| %12 = insertvalue { { {} (i64)*, {} (i64)* }*, i64 } { { {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })", i64 0 }, i64 %_fmm_32b, 1 | |
| %_result = tail call fastcc {} %1({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %12) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_34({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_32({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_36({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_34({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_2e({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5) { | |
| entry: | |
| %_fmm_319 = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %4) | |
| %6 = ptrtoint {}* %2 to i64 | |
| %7 = inttoptr i64 %6 to { {}*, { i64, i8 }* }* | |
| %_fmm_31a = load { {}*, { i64, i8 }* }, { {}*, { i64, i8 }* }* %7, align 8 | |
| %_fmm_31b = extractvalue { {}*, { i64, i8 }* } %_fmm_31a, 0 | |
| %_fmm_31c = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Tcp/Stream.pen:Stream"({}* %_fmm_31b) | |
| %_fmm_31d = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream"({}* %2) | |
| %_fmm_31e = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, { i64, i8 }*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, { i64, i8 }*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Send" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %8 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_83 = load i64, i64* %8, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_84 = phi i64 [ 0, %then ], [ 24, %else ] | |
| %9 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %_k_85 = load i64, i64* %9, align 4 | |
| %10 = add i64 %_k_83, %_k_84 | |
| %11 = icmp ugt i64 %10, %_k_85 | |
| br i1 %11, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %12 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_86 = load i8*, i8** %12, align 8 | |
| %13 = mul i64 %_k_85, 2 | |
| %_k_87 = call i8* @_pen_realloc(i8* %_k_86, i64 %13) | |
| %14 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| store i8* %_k_87, i8** %14, align 8 | |
| %15 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %16 = mul i64 %_k_85, 2 | |
| store i64 %16, i64* %15, align 4 | |
| br label %phi3 | |
| else2: ; preds = %phi | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_k_88 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| %17 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_89 = load i8*, i8** %17, align 8 | |
| %18 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_8a = load i64, i64* %18, align 4 | |
| %19 = getelementptr i8, i8* %_k_89, i64 %_k_8a | |
| %20 = ptrtoint i8* %19 to i64 | |
| %21 = inttoptr i64 %20 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* }* | |
| %22 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } zeroinitializer, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, 0 | |
| %23 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %22, {}* %4, 1 | |
| %24 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %23, {}* %5, 2 | |
| store { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %24, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* }* %21, align 8 | |
| %25 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %26 = add i64 %_k_83, %_k_84 | |
| store i64 %26, i64* %25, align 4 | |
| %_result = tail call fastcc {} %_fmm_31e({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* @_k_79, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Send" to i64), i64 1) to {}*), {}* %4, {}* %_fmm_31b, { i64, i8 }* %3) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_2d({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, { { {} (i64)*, {} (i64)* }*, i64 } %4, {}* %5, {}* %6) { | |
| entry: | |
| %_fmm_315 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %4, 0 | |
| %7 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_315 to i64 | |
| %8 = icmp eq i64 %7, ptrtoint ({ {} (i64)*, {} (i64)* }* @None to i64) | |
| br i1 %8, label %then, label %else | |
| then: ; preds = %entry | |
| %_fmm_316 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %4, 1 | |
| %9 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_316, 0 | |
| %10 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %9, { i64, [0 x i8] }* %10, align 4 | |
| %11 = bitcast { i64, [0 x i8] }* %10 to { [1 x i64] }* | |
| %12 = load { [1 x i64] }, { [1 x i64] }* %11, align 4 | |
| %13 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %12, { [1 x i64] }* %13, align 4 | |
| %14 = bitcast { [1 x i64] }* %13 to { {}, [8 x i8] }* | |
| %15 = load { {}, [8 x i8] }, { {}, [8 x i8] }* %14, align 1 | |
| %_fmm_317 = extractvalue { {}, [8 x i8] } %15, 0 | |
| %_result = tail call fastcc {} @_if_2e({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %5, {}* %6) | |
| ret {} %_result | |
| else: ; preds = %entry | |
| call void @_pen_unreachable() | |
| unreachable | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_if_3e({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_fmm_311 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener"({}* %4) | |
| %_fmm_312 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream"({}* %2) | |
| %5 = insertvalue { {}*, [0 x i8] } zeroinitializer, {}* %3, 0 | |
| %6 = alloca { {}*, [0 x i8] }, align 8 | |
| store { {}*, [0 x i8] } %5, { {}*, [0 x i8] }* %6, align 8 | |
| %7 = bitcast { {}*, [0 x i8] }* %6 to { [1 x i64] }* | |
| %8 = load { [1 x i64] }, { [1 x i64] }* %7, align 4 | |
| %9 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %8, { [1 x i64] }* %9, align 4 | |
| %10 = bitcast { [1 x i64] }* %9 to { i64, [0 x i8] }* | |
| %11 = load { i64, [0 x i8] }, { i64, [0 x i8] }* %10, align 4 | |
| %_fmm_313 = extractvalue { i64, [0 x i8] } %11, 0 | |
| %12 = insertvalue { { {} (i64)*, {} (i64)* }*, i64 } { { {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })", i64 0 }, i64 %_fmm_313, 1 | |
| %_result = tail call fastcc {} %1({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %12) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_40({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_3e({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_42({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_40({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_3d({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5, {}* %6) { | |
| entry: | |
| %_fmm_30c = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %5) | |
| %7 = ptrtoint { i64, i8 }* %3 to i64 | |
| %8 = icmp ne i64 %7, 0 | |
| br i1 %8, label %then, label %else | |
| then: ; preds = %entry | |
| %9 = ptrtoint { i64, i8 }* %3 to i64 | |
| %10 = and i64 %9, 1 | |
| %11 = icmp ne i64 %10, 1 | |
| br i1 %11, label %then1, label %else2 | |
| else: ; preds = %entry | |
| %_result9 = tail call fastcc {} @_if_3e({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %4, {}* %6) | |
| ret {} %_result9 | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then1: ; preds = %then | |
| %12 = ptrtoint { i64, i8 }* %3 to i64 | |
| %13 = inttoptr i64 %12 to i64* | |
| %14 = getelementptr i64, i64* %13, i64 -1 | |
| %15 = atomicrmw sub i64* %14, i64 1 release, align 8 | |
| %16 = icmp eq i64 %15, 0 | |
| br i1 %16, label %then4, label %else5 | |
| else2: ; preds = %then | |
| %_result8 = tail call fastcc {} @_if_40({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %4, {}* %6) | |
| ret {} %_result8 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then4: ; preds = %then1 | |
| fence acquire | |
| %17 = ptrtoint { i64, i8 }* %3 to i64 | |
| %18 = inttoptr i64 %17 to i8* | |
| %19 = ptrtoint i8* %18 to i64 | |
| %20 = inttoptr i64 %19 to i64* | |
| %21 = getelementptr i64, i64* %20, i64 -1 | |
| %22 = ptrtoint i64* %21 to i64 | |
| %23 = inttoptr i64 %22 to i8* | |
| call void @_pen_free(i8* %23) | |
| %_result = tail call fastcc {} @_if_42({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %4, {}* %6) | |
| ret {} %_result | |
| else5: ; preds = %then1 | |
| %_result7 = tail call fastcc {} @_if_42({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %4, {}* %6) | |
| ret {} %_result7 | |
| phi6: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_if_48({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5, {}* %6) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_3d({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5, {}* %6) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_4a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5, {}* %6) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_48({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5, {}* %6) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_2c({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5) { | |
| entry: | |
| %_fmm_301 = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* @"/.pen/default/packages/cc2ed307d895f924/Print.pen:Line" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_99 = load i64, i64* %6, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_9a = phi i64 [ 0, %then ], [ 40, %else ] | |
| %7 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %_k_9b = load i64, i64* %7, align 4 | |
| %8 = add i64 %_k_99, %_k_9a | |
| %9 = icmp ugt i64 %8, %_k_9b | |
| br i1 %9, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %10 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_9c = load i8*, i8** %10, align 8 | |
| %11 = mul i64 %_k_9b, 2 | |
| %_k_9d = call i8* @_pen_realloc(i8* %_k_9c, i64 %11) | |
| %12 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| store i8* %_k_9d, i8** %12, align 8 | |
| %13 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %14 = mul i64 %_k_9b, 2 | |
| store i64 %14, i64* %13, align 4 | |
| br label %phi3 | |
| else2: ; preds = %phi | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_k_9e = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| %15 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_9f = load i8*, i8** %15, align 8 | |
| %16 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_a0 = load i64, i64* %16, align 4 | |
| %17 = getelementptr i8, i8* %_k_9f, i64 %_k_a0 | |
| %18 = ptrtoint i8* %17 to i64 | |
| %19 = inttoptr i64 %18 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* }* | |
| %20 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } zeroinitializer, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, 0 | |
| %21 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } %20, {}* %2, 1 | |
| %22 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } %21, { i64, i8 }* %3, 2 | |
| %23 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } %22, {}* %4, 3 | |
| %24 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } %23, {}* %5, 4 | |
| store { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } %24, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* }* %19, align 8 | |
| %25 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %26 = add i64 %_k_99, %_k_9a | |
| store i64 %26, i64* %25, align 4 | |
| %_result = tail call fastcc {} %_fmm_301({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* @_k_8f, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, { i64, i8 }*)*, {} (i64)*, {} }* @"/.pen/default/packages/cc2ed307d895f924/Print.pen:Line" to i64), i64 1) to {}*), {}* %4, { i64, i8 }* %3) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_51({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_2c({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_2b({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5) { | |
| entry: | |
| %_fmm_2fd = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %4) | |
| %6 = ptrtoint { i64, i8 }* %3 to i64 | |
| %7 = icmp ne i64 %6, 0 | |
| br i1 %7, label %then, label %else | |
| then: ; preds = %entry | |
| %8 = ptrtoint { i64, i8 }* %3 to i64 | |
| %9 = and i64 %8, 1 | |
| %10 = icmp ne i64 %9, 1 | |
| br i1 %10, label %then1, label %else2 | |
| else: ; preds = %entry | |
| %_result5 = tail call fastcc {} @_if_2c({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5) | |
| ret {} %_result5 | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then1: ; preds = %then | |
| %11 = ptrtoint { i64, i8 }* %3 to i64 | |
| %12 = inttoptr i64 %11 to i64* | |
| %13 = getelementptr i64, i64* %12, i64 -1 | |
| %14 = atomicrmw add i64* %13, i64 1 monotonic, align 8 | |
| %_result = tail call fastcc {} @_if_51({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5) | |
| ret {} %_result | |
| else2: ; preds = %then | |
| %_result4 = tail call fastcc {} @_if_51({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %3, {}* %4, {}* %5) | |
| ret {} %_result4 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_if_2a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { { {} (i64)*, {} (i64)* }*, i64 } %3, {}* %4, {}* %5) { | |
| entry: | |
| %_fmm_2f9 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %3, 0 | |
| %6 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_2f9 to i64 | |
| %7 = icmp eq i64 %6, ptrtoint ({ {} (i64)*, {} (i64)* }* @ByteString to i64) | |
| br i1 %7, label %then, label %else | |
| then: ; preds = %entry | |
| %_fmm_2fa = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %3, 1 | |
| %8 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_2fa, 0 | |
| %9 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %8, { i64, [0 x i8] }* %9, align 4 | |
| %10 = bitcast { i64, [0 x i8] }* %9 to { [1 x i64] }* | |
| %11 = load { [1 x i64] }, { [1 x i64] }* %10, align 4 | |
| %12 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %11, { [1 x i64] }* %12, align 4 | |
| %13 = bitcast { [1 x i64] }* %12 to { { i64, i8 }*, [0 x i8] }* | |
| %14 = load { { i64, i8 }*, [0 x i8] }, { { i64, i8 }*, [0 x i8] }* %13, align 8 | |
| %_fmm_2fb = extractvalue { { i64, i8 }*, [0 x i8] } %14, 0 | |
| %_result = tail call fastcc {} @_if_2b({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, { i64, i8 }* %_fmm_2fb, {}* %4, {}* %5) | |
| ret {} %_result | |
| else: ; preds = %entry | |
| call void @_pen_unreachable() | |
| unreachable | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_if_56({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4, {}* %5) { | |
| entry: | |
| %_fmm_2f4 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %4) | |
| %_fmm_2f5 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener"({}* %5) | |
| %_fmm_2f6 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream"({}* %2) | |
| %6 = insertvalue { {}*, [0 x i8] } zeroinitializer, {}* %3, 0 | |
| %7 = alloca { {}*, [0 x i8] }, align 8 | |
| store { {}*, [0 x i8] } %6, { {}*, [0 x i8] }* %7, align 8 | |
| %8 = bitcast { {}*, [0 x i8] }* %7 to { [1 x i64] }* | |
| %9 = load { [1 x i64] }, { [1 x i64] }* %8, align 4 | |
| %10 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %9, { [1 x i64] }* %10, align 4 | |
| %11 = bitcast { [1 x i64] }* %10 to { i64, [0 x i8] }* | |
| %12 = load { i64, [0 x i8] }, { i64, [0 x i8] }* %11, align 4 | |
| %_fmm_2f7 = extractvalue { i64, [0 x i8] } %12, 0 | |
| %13 = insertvalue { { {} (i64)*, {} (i64)* }*, i64 } { { {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })", i64 0 }, i64 %_fmm_2f7, 1 | |
| %_result = tail call fastcc {} %1({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %13) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_58({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4, {}* %5) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_56({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4, {}* %5) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_5a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4, {}* %5) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_58({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4, {}* %5) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_29({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_fmm_2e3 = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %3) | |
| %_fmm_2e4 = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream"({}* %2) | |
| %5 = ptrtoint {}* %2 to i64 | |
| %6 = inttoptr i64 %5 to { {}*, { i64, i8 }* }* | |
| %_fmm_2e5 = load { {}*, { i64, i8 }* }, { {}*, { i64, i8 }* }* %6, align 8 | |
| %_fmm_2e6 = extractvalue { {}*, { i64, i8 }* } %_fmm_2e5, 0 | |
| %_fmm_2e7 = tail call {} @"mir_clone_/.pen/default/packages/fb4346304f4058b6/Tcp/Stream.pen:Stream"({}* %_fmm_2e6) | |
| %_fmm_2e8 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream"({}* %2) | |
| %_fmm_2e9 = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, double)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, double)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, double)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, double)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, double)*, {} (i64)*, {} }* @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Receive" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, double)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %7 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_ae = load i64, i64* %7, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_af = phi i64 [ 0, %then ], [ 32, %else ] | |
| %8 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %_k_b0 = load i64, i64* %8, align 4 | |
| %9 = add i64 %_k_ae, %_k_af | |
| %10 = icmp ugt i64 %9, %_k_b0 | |
| br i1 %10, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %11 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_b1 = load i8*, i8** %11, align 8 | |
| %12 = mul i64 %_k_b0, 2 | |
| %_k_b2 = call i8* @_pen_realloc(i8* %_k_b1, i64 %12) | |
| %13 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| store i8* %_k_b2, i8** %13, align 8 | |
| %14 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %15 = mul i64 %_k_b0, 2 | |
| store i64 %15, i64* %14, align 4 | |
| br label %phi3 | |
| else2: ; preds = %phi | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_k_b3 = phi {} [ zeroinitializer, %then1 ], [ zeroinitializer, %else2 ] | |
| %16 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_b4 = load i8*, i8** %16, align 8 | |
| %17 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_b5 = load i64, i64* %17, align 4 | |
| %18 = getelementptr i8, i8* %_k_b4, i64 %_k_b5 | |
| %19 = ptrtoint i8* %18 to i64 | |
| %20 = inttoptr i64 %19 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* }* | |
| %21 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* } zeroinitializer, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, 0 | |
| %22 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* } %21, {}* %2, 1 | |
| %23 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* } %22, {}* %3, 2 | |
| %24 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* } %23, {}* %4, 3 | |
| store { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* } %24, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* }* %20, align 8 | |
| %25 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %26 = add i64 %_k_ae, %_k_af | |
| store i64 %26, i64* %25, align 4 | |
| %_result = tail call fastcc {} %_fmm_2e9({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* @_k_a4, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*, double)*, {} (i64)*, {} }* @"/.pen/default/packages/fb4346304f4058b6/Tcp.pen:Receive" to i64), i64 1) to {}*), {}* %3, {}* %_fmm_2e6, double 1.024000e+03) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_28({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, { { {} (i64)*, {} (i64)* }*, i64 } %2, {}* %3, {}* %4) { | |
| entry: | |
| %_fmm_2df = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %2, 0 | |
| %5 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_2df to i64 | |
| %6 = icmp eq i64 %5, ptrtoint ({ {} (i64)*, {} (i64)* }* @"Record(Record { name: \22/.pen/default/packages/fb4346304f4058b6/Tcp/AcceptedStream.pen:AcceptedStream\22 })" to i64) | |
| br i1 %6, label %then, label %else | |
| then: ; preds = %entry | |
| %_fmm_2e0 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %2, 1 | |
| %7 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_2e0, 0 | |
| %8 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %7, { i64, [0 x i8] }* %8, align 4 | |
| %9 = bitcast { i64, [0 x i8] }* %8 to { [1 x i64] }* | |
| %10 = load { [1 x i64] }, { [1 x i64] }* %9, align 4 | |
| %11 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %10, { [1 x i64] }* %11, align 4 | |
| %12 = bitcast { [1 x i64] }* %11 to { {}*, [0 x i8] }* | |
| %13 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %12, align 8 | |
| %_fmm_2e1 = extractvalue { {}*, [0 x i8] } %13, 0 | |
| %_result = tail call fastcc {} @_if_29({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %_fmm_2e1, {}* %3, {}* %4) | |
| ret {} %_result | |
| else: ; preds = %entry | |
| call void @_pen_unreachable() | |
| unreachable | |
| phi: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_if_61({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_fmm_2db = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %3) | |
| %_fmm_2dc = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Tcp/Listener.pen:Listener"({}* %4) | |
| %5 = insertvalue { {}*, [0 x i8] } zeroinitializer, {}* %2, 0 | |
| %6 = alloca { {}*, [0 x i8] }, align 8 | |
| store { {}*, [0 x i8] } %5, { {}*, [0 x i8] }* %6, align 8 | |
| %7 = bitcast { {}*, [0 x i8] }* %6 to { [1 x i64] }* | |
| %8 = load { [1 x i64] }, { [1 x i64] }* %7, align 4 | |
| %9 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %8, { [1 x i64] }* %9, align 4 | |
| %10 = bitcast { [1 x i64] }* %9 to { i64, [0 x i8] }* | |
| %11 = load { i64, [0 x i8] }, { i64, [0 x i8] }* %10, align 4 | |
| %_fmm_2dd = extractvalue { i64, [0 x i8] } %11, 0 | |
| %12 = insertvalue { { {} (i64)*, {} (i64)* }*, i64 } { { {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })", i64 0 }, i64 %_fmm_2dd, 1 | |
| %_result = tail call fastcc {} %1({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %12) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_63({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_61({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_65({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_63({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %1, {}* %2, {}* %3, {}* %4) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_6b({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) { | |
| entry: | |
| %_fmm_33c = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:main" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %_result = tail call fastcc {} %_fmm_33c({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, double)*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:main" to i64), i64 1) to {}*), {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_6d({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_6b({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_if_6f({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) { | |
| entry: | |
| %_result = tail call fastcc {} @_if_6d({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %1, {}* %2) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_k_6({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %1) { | |
| entry: | |
| %2 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_b = load i64, i64* %2, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_c = phi i64 [ 0, %then ], [ 24, %else ] | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %4 = sub i64 %_k_b, %_k_c | |
| store i64 %4, i64* %3, align 4 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_d = load i8*, i8** %5, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_e = load i64, i64* %6, align 4 | |
| %7 = getelementptr i8, i8* %_k_d, i64 %_k_e | |
| %8 = ptrtoint i8* %7 to i64 | |
| %9 = inttoptr i64 %8 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* }* | |
| %_k_f = load { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* }, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* }* %9, align 8 | |
| %_k = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %_k_f, 0 | |
| %ctx = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %_k_f, 1 | |
| %l = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %_k_f, 2 | |
| %_fmm_2d2 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %10 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_2d2 to i64 | |
| %11 = icmp eq i64 %10, ptrtoint ({ {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })" to i64) | |
| br i1 %11, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %_fmm_2d3 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %12 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_2d3, 0 | |
| %13 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %12, { i64, [0 x i8] }* %13, align 4 | |
| %14 = bitcast { i64, [0 x i8] }* %13 to { [1 x i64] }* | |
| %15 = load { [1 x i64] }, { [1 x i64] }* %14, align 4 | |
| %16 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %15, { [1 x i64] }* %16, align 4 | |
| %17 = bitcast { [1 x i64] }* %16 to { {}*, [0 x i8] }* | |
| %18 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %17, align 8 | |
| %_fmm_2d4 = extractvalue { {}*, [0 x i8] } %18, 0 | |
| br i1 icmp ne (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 0), label %then4, label %else5 | |
| else2: ; preds = %phi | |
| %_result16 = tail call fastcc {} @_if_28({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, { { {} (i64)*, {} (i64)* }*, i64 } %1, {}* %ctx, {}* %l) | |
| ret {} %_result16 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then4: ; preds = %then1 | |
| br i1 icmp ne (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 1), i64 1), label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| %_result15 = tail call fastcc {} @_if_61({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2d4, {}* %ctx, {}* %l) | |
| ret {} %_result15 | |
| phi6: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then7: ; preds = %then4 | |
| %19 = atomicrmw sub i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1) to i64*), i64 -1), i64 1 release, align 8 | |
| %20 = icmp eq i64 %19, 0 | |
| br i1 %20, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| %_result14 = tail call fastcc {} @_if_63({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2d4, {}* %ctx, {}* %l) | |
| ret {} %_result14 | |
| phi9: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then10: ; preds = %then7 | |
| fence acquire | |
| %_fmm_2d6 = load {} (i64)*, {} (i64)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 1), align 8 | |
| %_fmm_2d7 = tail call {} %_fmm_2d6(i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1)) | |
| call void @_pen_free(i8* bitcast (i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1) to i64*), i64 -1) to i8*)) | |
| %_result = tail call fastcc {} @_if_65({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2d4, {}* %ctx, {}* %l) | |
| ret {} %_result | |
| else11: ; preds = %then7 | |
| %_result13 = tail call fastcc {} @_if_65({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2d4, {}* %ctx, {}* %l) | |
| ret {} %_result13 | |
| phi12: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_k_1b({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %1) { | |
| entry: | |
| %2 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_1c = load i64, i64* %2, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_1d = phi i64 [ 0, %then ], [ 8, %else ] | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %4 = sub i64 %_k_1c, %_k_1d | |
| store i64 %4, i64* %3, align 4 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_1e = load i8*, i8** %5, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_1f = load i64, i64* %6, align 4 | |
| %7 = getelementptr i8, i8* %_k_1e, i64 %_k_1f | |
| %8 = ptrtoint i8* %7 to i64 | |
| %9 = inttoptr i64 %8 to { {} ({ i8*, i64, i64 }*, double)* }* | |
| %_k_20 = load { {} ({ i8*, i64, i64 }*, double)* }, { {} ({ i8*, i64, i64 }*, double)* }* %9, align 8 | |
| %_k = extractvalue { {} ({ i8*, i64, i64 }*, double)* } %_k_20, 0 | |
| %_fmm_298 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %_fmm_299 = load { {} (i64)*, {} (i64)* }, { {} (i64)*, {} (i64)* }* %_fmm_298, align 8 | |
| %_fmm_29a = extractvalue { {} (i64)*, {} (i64)* } %_fmm_299, 1 | |
| %_fmm_29b = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %_fmm_29c = tail call {} %_fmm_29a(i64 %_fmm_29b) | |
| %_result = tail call fastcc {} @_if_4({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %_k, double 1.000000e+00) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_k_2a({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %1) { | |
| entry: | |
| %2 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_2c = load i64, i64* %2, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_2d = phi i64 [ 0, %then ], [ 16, %else ] | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %4 = sub i64 %_k_2c, %_k_2d | |
| store i64 %4, i64* %3, align 4 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_2e = load i8*, i8** %5, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_2f = load i64, i64* %6, align 4 | |
| %7 = getelementptr i8, i8* %_k_2e, i64 %_k_2f | |
| %8 = ptrtoint i8* %7 to i64 | |
| %9 = inttoptr i64 %8 to { {} ({ i8*, i64, i64 }*, double)*, {}* }* | |
| %_k_30 = load { {} ({ i8*, i64, i64 }*, double)*, {}* }, { {} ({ i8*, i64, i64 }*, double)*, {}* }* %9, align 8 | |
| %_k = extractvalue { {} ({ i8*, i64, i64 }*, double)*, {}* } %_k_30, 0 | |
| %ctx = extractvalue { {} ({ i8*, i64, i64 }*, double)*, {}* } %_k_30, 1 | |
| %_fmm_28c = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %10 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_28c to i64 | |
| %11 = icmp eq i64 %10, ptrtoint ({ {} (i64)*, {} (i64)* }* @ByteString to i64) | |
| br i1 %11, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %_fmm_28d = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %12 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_28d, 0 | |
| %13 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %12, { i64, [0 x i8] }* %13, align 4 | |
| %14 = bitcast { i64, [0 x i8] }* %13 to { [1 x i64] }* | |
| %15 = load { [1 x i64] }, { [1 x i64] }* %14, align 4 | |
| %16 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %15, { [1 x i64] }* %16, align 4 | |
| %17 = bitcast { [1 x i64] }* %16 to { { i64, i8 }*, [0 x i8] }* | |
| %18 = load { { i64, i8 }*, [0 x i8] }, { { i64, i8 }*, [0 x i8] }* %17, align 8 | |
| %_fmm_28e = extractvalue { { i64, i8 }*, [0 x i8] } %18, 0 | |
| %_result = tail call fastcc {} @_if_6({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %_k, { i64, i8 }* %_fmm_28e, {}* %ctx) | |
| ret {} %_result | |
| else2: ; preds = %phi | |
| %_fmm_28f = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %_fmm_290 = load { {} (i64)*, {} (i64)* }, { {} (i64)*, {} (i64)* }* %_fmm_28f, align 8 | |
| %_fmm_291 = extractvalue { {} (i64)*, {} (i64)* } %_fmm_290, 1 | |
| %_fmm_292 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %_fmm_293 = tail call {} %_fmm_291(i64 %_fmm_292) | |
| %_result4 = tail call fastcc {} @_if_6({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %_k, { i64, i8 }* inttoptr (i64 or (i64 ptrtoint ({ i64, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }* @_fmm_294 to i64), i64 1) to { i64, i8 }*), {}* %ctx) | |
| ret {} %_result4 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_k_29({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %1) { | |
| entry: | |
| %2 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_3b = load i64, i64* %2, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_3c = phi i64 [ 0, %then ], [ 16, %else ] | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %4 = sub i64 %_k_3b, %_k_3c | |
| store i64 %4, i64* %3, align 4 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_3d = load i8*, i8** %5, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_3e = load i64, i64* %6, align 4 | |
| %7 = getelementptr i8, i8* %_k_3d, i64 %_k_3e | |
| %8 = ptrtoint i8* %7 to i64 | |
| %9 = inttoptr i64 %8 to { {} ({ i8*, i64, i64 }*, double)*, {}* }* | |
| %_k_3f = load { {} ({ i8*, i64, i64 }*, double)*, {}* }, { {} ({ i8*, i64, i64 }*, double)*, {}* }* %9, align 8 | |
| %_k = extractvalue { {} ({ i8*, i64, i64 }*, double)*, {}* } %_k_3f, 0 | |
| %ctx = extractvalue { {} ({ i8*, i64, i64 }*, double)*, {}* } %_k_3f, 1 | |
| %_fmm_283 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %10 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_283 to i64 | |
| %11 = icmp eq i64 %10, ptrtoint ({ {} (i64)*, {} (i64)* }* @None to i64) | |
| br i1 %11, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %_fmm_284 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %12 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_284, 0 | |
| %13 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %12, { i64, [0 x i8] }* %13, align 4 | |
| %14 = bitcast { i64, [0 x i8] }* %13 to { [1 x i64] }* | |
| %15 = load { [1 x i64] }, { [1 x i64] }* %14, align 4 | |
| %16 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %15, { [1 x i64] }* %16, align 4 | |
| %17 = bitcast { [1 x i64] }* %16 to { {}, [8 x i8] }* | |
| %18 = load { {}, [8 x i8] }, { {}, [8 x i8] }* %17, align 1 | |
| %_fmm_285 = extractvalue { {}, [8 x i8] } %18, 0 | |
| %_fmm_286 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %ctx) | |
| %_result = tail call fastcc {} @_if_1({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, double)* %_k, double 0.000000e+00) | |
| ret {} %_result | |
| else2: ; preds = %phi | |
| %_fmm_287 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %19 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_287 to i64 | |
| %20 = icmp eq i64 %19, ptrtoint ({ {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })" to i64) | |
| br i1 %20, label %then4, label %else5 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then4: ; preds = %else2 | |
| %_fmm_288 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %21 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_288, 0 | |
| %22 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %21, { i64, [0 x i8] }* %22, align 4 | |
| %23 = bitcast { i64, [0 x i8] }* %22 to { [1 x i64] }* | |
| %24 = load { [1 x i64] }, { [1 x i64] }* %23, align 4 | |
| %25 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %24, { [1 x i64] }* %25, align 4 | |
| %26 = bitcast { [1 x i64] }* %25 to { {}*, [0 x i8] }* | |
| %27 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %26, align 8 | |
| %_fmm_289 = extractvalue { {}*, [0 x i8] } %27, 0 | |
| %_fmm_28a = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"prelude:source" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %28 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_31 = load i64, i64* %28, align 4 | |
| br i1 false, label %then7, label %else8 | |
| else5: ; preds = %else2 | |
| call void @_pen_unreachable() | |
| unreachable | |
| phi6: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then7: ; preds = %then4 | |
| br label %phi9 | |
| else8: ; preds = %then4 | |
| br label %phi9 | |
| phi9: ; preds = %else8, %then7 | |
| %_k_32 = phi i64 [ 0, %then7 ], [ 16, %else8 ] | |
| %29 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %_k_33 = load i64, i64* %29, align 4 | |
| %30 = add i64 %_k_31, %_k_32 | |
| %31 = icmp ugt i64 %30, %_k_33 | |
| br i1 %31, label %then10, label %else11 | |
| then10: ; preds = %phi9 | |
| %32 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_34 = load i8*, i8** %32, align 8 | |
| %33 = mul i64 %_k_33, 2 | |
| %_k_35 = call i8* @_pen_realloc(i8* %_k_34, i64 %33) | |
| %34 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| store i8* %_k_35, i8** %34, align 8 | |
| %35 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %36 = mul i64 %_k_33, 2 | |
| store i64 %36, i64* %35, align 4 | |
| br label %phi12 | |
| else11: ; preds = %phi9 | |
| br label %phi12 | |
| phi12: ; preds = %else11, %then10 | |
| %_k_36 = phi {} [ zeroinitializer, %then10 ], [ zeroinitializer, %else11 ] | |
| %37 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_37 = load i8*, i8** %37, align 8 | |
| %38 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_38 = load i64, i64* %38, align 4 | |
| %39 = getelementptr i8, i8* %_k_37, i64 %_k_38 | |
| %40 = ptrtoint i8* %39 to i64 | |
| %41 = inttoptr i64 %40 to { {} ({ i8*, i64, i64 }*, double)*, {}* }* | |
| %42 = insertvalue { {} ({ i8*, i64, i64 }*, double)*, {}* } zeroinitializer, {} ({ i8*, i64, i64 }*, double)* %_k, 0 | |
| %43 = insertvalue { {} ({ i8*, i64, i64 }*, double)*, {}* } %42, {}* %ctx, 1 | |
| store { {} ({ i8*, i64, i64 }*, double)*, {}* } %43, { {} ({ i8*, i64, i64 }*, double)*, {}* }* %41, align 8 | |
| %44 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %45 = add i64 %_k_31, %_k_32 | |
| store i64 %45, i64* %44, align 4 | |
| %_result13 = tail call fastcc {} %_fmm_28a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* @_k_2a, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"prelude:source" to i64), i64 1) to {}*), {}* %_fmm_289) | |
| ret {} %_result13 | |
| } | |
| define internal fastcc {} @_k_49({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %1) { | |
| entry: | |
| %2 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_4b = load i64, i64* %2, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_4c = phi i64 [ 0, %then ], [ 16, %else ] | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %4 = sub i64 %_k_4b, %_k_4c | |
| store i64 %4, i64* %3, align 4 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_4d = load i8*, i8** %5, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_4e = load i64, i64* %6, align 4 | |
| %7 = getelementptr i8, i8* %_k_4d, i64 %_k_4e | |
| %8 = ptrtoint i8* %7 to i64 | |
| %9 = inttoptr i64 %8 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* | |
| %_k_4f = load { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* %9, align 8 | |
| %_k = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %_k_4f, 0 | |
| %ctx = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %_k_4f, 1 | |
| %_fmm_2c0 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %10 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_2c0 to i64 | |
| %11 = icmp eq i64 %10, ptrtoint ({ {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })" to i64) | |
| br i1 %11, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %_fmm_2c1 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %12 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_2c1, 0 | |
| %13 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %12, { i64, [0 x i8] }* %13, align 4 | |
| %14 = bitcast { i64, [0 x i8] }* %13 to { [1 x i64] }* | |
| %15 = load { [1 x i64] }, { [1 x i64] }* %14, align 4 | |
| %16 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %15, { [1 x i64] }* %16, align 4 | |
| %17 = bitcast { [1 x i64] }* %16 to { {}*, [0 x i8] }* | |
| %18 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %17, align 8 | |
| %_fmm_2c2 = extractvalue { {}*, [0 x i8] } %18, 0 | |
| %19 = insertvalue { {}*, [0 x i8] } zeroinitializer, {}* %_fmm_2c2, 0 | |
| %20 = alloca { {}*, [0 x i8] }, align 8 | |
| store { {}*, [0 x i8] } %19, { {}*, [0 x i8] }* %20, align 8 | |
| %21 = bitcast { {}*, [0 x i8] }* %20 to { [1 x i64] }* | |
| %22 = load { [1 x i64] }, { [1 x i64] }* %21, align 4 | |
| %23 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %22, { [1 x i64] }* %23, align 4 | |
| %24 = bitcast { [1 x i64] }* %23 to { i64, [0 x i8] }* | |
| %25 = load { i64, [0 x i8] }, { i64, [0 x i8] }* %24, align 4 | |
| %_fmm_2c3 = extractvalue { i64, [0 x i8] } %25, 0 | |
| %26 = insertvalue { { {} (i64)*, {} (i64)* }*, i64 } { { {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })", i64 0 }, i64 %_fmm_2c3, 1 | |
| %_result = tail call fastcc {} %_k({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %26) | |
| ret {} %_result | |
| else2: ; preds = %phi | |
| %_result4 = tail call fastcc {} @_if_15({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, { { {} (i64)*, {} (i64)* }*, i64 } %1, {}* %ctx) | |
| ret {} %_result4 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_k_5c({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %1) { | |
| entry: | |
| %2 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_5e = load i64, i64* %2, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_5f = phi i64 [ 0, %then ], [ 16, %else ] | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %4 = sub i64 %_k_5e, %_k_5f | |
| store i64 %4, i64* %3, align 4 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_60 = load i8*, i8** %5, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_61 = load i64, i64* %6, align 4 | |
| %7 = getelementptr i8, i8* %_k_60, i64 %_k_61 | |
| %8 = ptrtoint i8* %7 to i64 | |
| %9 = inttoptr i64 %8 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* | |
| %_k_62 = load { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* %9, align 8 | |
| %_k = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %_k_62, 0 | |
| %ctx = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %_k_62, 1 | |
| %_fmm_2ad = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %10 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_2ad to i64 | |
| %11 = icmp eq i64 %10, ptrtoint ({ {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })" to i64) | |
| br i1 %11, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %_fmm_2ae = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %12 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_2ae, 0 | |
| %13 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %12, { i64, [0 x i8] }* %13, align 4 | |
| %14 = bitcast { i64, [0 x i8] }* %13 to { [1 x i64] }* | |
| %15 = load { [1 x i64] }, { [1 x i64] }* %14, align 4 | |
| %16 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %15, { [1 x i64] }* %16, align 4 | |
| %17 = bitcast { [1 x i64] }* %16 to { {}*, [0 x i8] }* | |
| %18 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %17, align 8 | |
| %_fmm_2af = extractvalue { {}*, [0 x i8] } %18, 0 | |
| %_fmm_2b0 = tail call {} @"mir_drop_/.pen/default/packages/fb4346304f4058b6/Context.pen:Context"({}* %ctx) | |
| %19 = insertvalue { {}*, [0 x i8] } zeroinitializer, {}* %_fmm_2af, 0 | |
| %20 = alloca { {}*, [0 x i8] }, align 8 | |
| store { {}*, [0 x i8] } %19, { {}*, [0 x i8] }* %20, align 8 | |
| %21 = bitcast { {}*, [0 x i8] }* %20 to { [1 x i64] }* | |
| %22 = load { [1 x i64] }, { [1 x i64] }* %21, align 4 | |
| %23 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %22, { [1 x i64] }* %23, align 4 | |
| %24 = bitcast { [1 x i64] }* %23 to { i64, [0 x i8] }* | |
| %25 = load { i64, [0 x i8] }, { i64, [0 x i8] }* %24, align 4 | |
| %_fmm_2b1 = extractvalue { i64, [0 x i8] } %25, 0 | |
| %26 = insertvalue { { {} (i64)*, {} (i64)* }*, i64 } { { {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })", i64 0 }, i64 %_fmm_2b1, 1 | |
| %_result = tail call fastcc {} %_k({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %26) | |
| ret {} %_result | |
| else2: ; preds = %phi | |
| %_result4 = tail call fastcc {} @_if_12({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, { { {} (i64)*, {} (i64)* }*, i64 } %1, {}* %ctx) | |
| ret {} %_result4 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_k_5b({ i8*, i64, i64 }* %0, {}* %1) { | |
| entry: | |
| %2 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_6b = load i64, i64* %2, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_6c = phi i64 [ 0, %then ], [ 16, %else ] | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %4 = sub i64 %_k_6b, %_k_6c | |
| store i64 %4, i64* %3, align 4 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_6d = load i8*, i8** %5, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_6e = load i64, i64* %6, align 4 | |
| %7 = getelementptr i8, i8* %_k_6d, i64 %_k_6e | |
| %8 = ptrtoint i8* %7 to i64 | |
| %9 = inttoptr i64 %8 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* | |
| %_k_6f = load { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* %9, align 8 | |
| %_k = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %_k_6f, 0 | |
| %ctx = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %_k_6f, 1 | |
| %_fmm_2ab = load atomic {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"/arguments.pen:Parse" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 0) acquire, align 8 | |
| %10 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_63 = load i64, i64* %10, align 4 | |
| br i1 false, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| br label %phi3 | |
| else2: ; preds = %phi | |
| br label %phi3 | |
| phi3: ; preds = %else2, %then1 | |
| %_k_64 = phi i64 [ 0, %then1 ], [ 16, %else2 ] | |
| %11 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %_k_65 = load i64, i64* %11, align 4 | |
| %12 = add i64 %_k_63, %_k_64 | |
| %13 = icmp ugt i64 %12, %_k_65 | |
| br i1 %13, label %then4, label %else5 | |
| then4: ; preds = %phi3 | |
| %14 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_66 = load i8*, i8** %14, align 8 | |
| %15 = mul i64 %_k_65, 2 | |
| %_k_67 = call i8* @_pen_realloc(i8* %_k_66, i64 %15) | |
| %16 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| store i8* %_k_67, i8** %16, align 8 | |
| %17 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 2 | |
| %18 = mul i64 %_k_65, 2 | |
| store i64 %18, i64* %17, align 4 | |
| br label %phi6 | |
| else5: ; preds = %phi3 | |
| br label %phi6 | |
| phi6: ; preds = %else5, %then4 | |
| %_k_68 = phi {} [ zeroinitializer, %then4 ], [ zeroinitializer, %else5 ] | |
| %19 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_69 = load i8*, i8** %19, align 8 | |
| %20 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_6a = load i64, i64* %20, align 4 | |
| %21 = getelementptr i8, i8* %_k_69, i64 %_k_6a | |
| %22 = ptrtoint i8* %21 to i64 | |
| %23 = inttoptr i64 %22 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* | |
| %24 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } zeroinitializer, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, 0 | |
| %25 = insertvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %24, {}* %ctx, 1 | |
| store { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* } %25, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}* }* %23, align 8 | |
| %26 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %27 = add i64 %_k_63, %_k_64 | |
| store i64 %27, i64* %26, align 4 | |
| %_result = tail call fastcc {} %_fmm_2ab({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* @_k_5c, {}* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*)*, {} (i64)*, {} }* @"/arguments.pen:Parse" to i64), i64 1) to {}*), {}* %1) | |
| ret {} %_result | |
| } | |
| define internal fastcc {} @_k_79({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %1) { | |
| entry: | |
| %2 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_7e = load i64, i64* %2, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_7f = phi i64 [ 0, %then ], [ 24, %else ] | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %4 = sub i64 %_k_7e, %_k_7f | |
| store i64 %4, i64* %3, align 4 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_80 = load i8*, i8** %5, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_81 = load i64, i64* %6, align 4 | |
| %7 = getelementptr i8, i8* %_k_80, i64 %_k_81 | |
| %8 = ptrtoint i8* %7 to i64 | |
| %9 = inttoptr i64 %8 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* }* | |
| %_k_82 = load { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* }, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* }* %9, align 8 | |
| %_k = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %_k_82, 0 | |
| %ctx = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %_k_82, 1 | |
| %l = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}* } %_k_82, 2 | |
| %_fmm_320 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %10 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_320 to i64 | |
| %11 = icmp eq i64 %10, ptrtoint ({ {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })" to i64) | |
| br i1 %11, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %_fmm_321 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %12 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_321, 0 | |
| %13 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %12, { i64, [0 x i8] }* %13, align 4 | |
| %14 = bitcast { i64, [0 x i8] }* %13 to { [1 x i64] }* | |
| %15 = load { [1 x i64] }, { [1 x i64] }* %14, align 4 | |
| %16 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %15, { [1 x i64] }* %16, align 4 | |
| %17 = bitcast { [1 x i64] }* %16 to { {}*, [0 x i8] }* | |
| %18 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %17, align 8 | |
| %_fmm_322 = extractvalue { {}*, [0 x i8] } %18, 0 | |
| br i1 icmp ne (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 0), label %then4, label %else5 | |
| else2: ; preds = %phi | |
| %_result16 = tail call fastcc {} @_if_2f({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, { { {} (i64)*, {} (i64)* }*, i64 } %1, {}* %ctx, {}* %l) | |
| ret {} %_result16 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then4: ; preds = %then1 | |
| br i1 icmp ne (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 1), i64 1), label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| %_result15 = tail call fastcc {} @_if_32({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_322, {}* %ctx, {}* %l) | |
| ret {} %_result15 | |
| phi6: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then7: ; preds = %then4 | |
| %19 = atomicrmw sub i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1) to i64*), i64 -1), i64 1 release, align 8 | |
| %20 = icmp eq i64 %19, 0 | |
| br i1 %20, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| %_result14 = tail call fastcc {} @_if_34({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_322, {}* %ctx, {}* %l) | |
| ret {} %_result14 | |
| phi9: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then10: ; preds = %then7 | |
| fence acquire | |
| %_fmm_324 = load {} (i64)*, {} (i64)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 1), align 8 | |
| %_fmm_325 = tail call {} %_fmm_324(i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1)) | |
| call void @_pen_free(i8* bitcast (i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1) to i64*), i64 -1) to i8*)) | |
| %_result = tail call fastcc {} @_if_36({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_322, {}* %ctx, {}* %l) | |
| ret {} %_result | |
| else11: ; preds = %then7 | |
| %_result13 = tail call fastcc {} @_if_36({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_322, {}* %ctx, {}* %l) | |
| ret {} %_result13 | |
| phi12: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_k_8f({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %1) { | |
| entry: | |
| %2 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_94 = load i64, i64* %2, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_95 = phi i64 [ 0, %then ], [ 40, %else ] | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %4 = sub i64 %_k_94, %_k_95 | |
| store i64 %4, i64* %3, align 4 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_96 = load i8*, i8** %5, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_97 = load i64, i64* %6, align 4 | |
| %7 = getelementptr i8, i8* %_k_96, i64 %_k_97 | |
| %8 = ptrtoint i8* %7 to i64 | |
| %9 = inttoptr i64 %8 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* }* | |
| %_k_98 = load { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* }, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* }* %9, align 8 | |
| %_k = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } %_k_98, 0 | |
| %_fmm_2e2 = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } %_k_98, 1 | |
| %_fmm_2fc = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } %_k_98, 2 | |
| %ctx = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } %_k_98, 3 | |
| %l = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, { i64, i8 }*, {}*, {}* } %_k_98, 4 | |
| %_fmm_303 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %10 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_303 to i64 | |
| %11 = icmp eq i64 %10, ptrtoint ({ {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })" to i64) | |
| br i1 %11, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %_fmm_304 = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %12 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_304, 0 | |
| %13 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %12, { i64, [0 x i8] }* %13, align 4 | |
| %14 = bitcast { i64, [0 x i8] }* %13 to { [1 x i64] }* | |
| %15 = load { [1 x i64] }, { [1 x i64] }* %14, align 4 | |
| %16 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %15, { [1 x i64] }* %16, align 4 | |
| %17 = bitcast { [1 x i64] }* %16 to { {}*, [0 x i8] }* | |
| %18 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %17, align 8 | |
| %_fmm_305 = extractvalue { {}*, [0 x i8] } %18, 0 | |
| br i1 icmp ne (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 0), label %then4, label %else5 | |
| else2: ; preds = %phi | |
| %_result16 = tail call fastcc {} @_if_2d({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2e2, { i64, i8 }* %_fmm_2fc, { { {} (i64)*, {} (i64)* }*, i64 } %1, {}* %ctx, {}* %l) | |
| ret {} %_result16 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then4: ; preds = %then1 | |
| br i1 icmp ne (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 1), i64 1), label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| %_result15 = tail call fastcc {} @_if_3d({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2e2, { i64, i8 }* %_fmm_2fc, {}* %_fmm_305, {}* %ctx, {}* %l) | |
| ret {} %_result15 | |
| phi6: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then7: ; preds = %then4 | |
| %19 = atomicrmw sub i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1) to i64*), i64 -1), i64 1 release, align 8 | |
| %20 = icmp eq i64 %19, 0 | |
| br i1 %20, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| %_result14 = tail call fastcc {} @_if_48({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2e2, { i64, i8 }* %_fmm_2fc, {}* %_fmm_305, {}* %ctx, {}* %l) | |
| ret {} %_result14 | |
| phi9: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then10: ; preds = %then7 | |
| fence acquire | |
| %_fmm_307 = load {} (i64)*, {} (i64)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 1), align 8 | |
| %_fmm_308 = tail call {} %_fmm_307(i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1)) | |
| call void @_pen_free(i8* bitcast (i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1) to i64*), i64 -1) to i8*)) | |
| %_result = tail call fastcc {} @_if_4a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2e2, { i64, i8 }* %_fmm_2fc, {}* %_fmm_305, {}* %ctx, {}* %l) | |
| ret {} %_result | |
| else11: ; preds = %then7 | |
| %_result13 = tail call fastcc {} @_if_4a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2e2, { i64, i8 }* %_fmm_2fc, {}* %_fmm_305, {}* %ctx, {}* %l) | |
| ret {} %_result13 | |
| phi12: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } | |
| define internal fastcc {} @_k_a4({ i8*, i64, i64 }* %0, { { {} (i64)*, {} (i64)* }*, i64 } %1) { | |
| entry: | |
| %2 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_a9 = load i64, i64* %2, align 4 | |
| br i1 false, label %then, label %else | |
| then: ; preds = %entry | |
| br label %phi | |
| else: ; preds = %entry | |
| br label %phi | |
| phi: ; preds = %else, %then | |
| %_k_aa = phi i64 [ 0, %then ], [ 32, %else ] | |
| %3 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %4 = sub i64 %_k_a9, %_k_aa | |
| store i64 %4, i64* %3, align 4 | |
| %5 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 0 | |
| %_k_ab = load i8*, i8** %5, align 8 | |
| %6 = getelementptr { i8*, i64, i64 }, { i8*, i64, i64 }* %0, i32 0, i32 1 | |
| %_k_ac = load i64, i64* %6, align 4 | |
| %7 = getelementptr i8, i8* %_k_ab, i64 %_k_ac | |
| %8 = ptrtoint i8* %7 to i64 | |
| %9 = inttoptr i64 %8 to { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* }* | |
| %_k_ad = load { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* }, { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* }* %9, align 8 | |
| %_k = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* } %_k_ad, 0 | |
| %_fmm_2e2 = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* } %_k_ad, 1 | |
| %ctx = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* } %_k_ad, 2 | |
| %l = extractvalue { {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}* } %_k_ad, 3 | |
| %_fmm_2eb = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 0 | |
| %10 = ptrtoint { {} (i64)*, {} (i64)* }* %_fmm_2eb to i64 | |
| %11 = icmp eq i64 %10, ptrtoint ({ {} (i64)*, {} (i64)* }* @"Record(Record { name: \22prelude:error\22 })" to i64) | |
| br i1 %11, label %then1, label %else2 | |
| then1: ; preds = %phi | |
| %_fmm_2ec = extractvalue { { {} (i64)*, {} (i64)* }*, i64 } %1, 1 | |
| %12 = insertvalue { i64, [0 x i8] } zeroinitializer, i64 %_fmm_2ec, 0 | |
| %13 = alloca { i64, [0 x i8] }, align 8 | |
| store { i64, [0 x i8] } %12, { i64, [0 x i8] }* %13, align 4 | |
| %14 = bitcast { i64, [0 x i8] }* %13 to { [1 x i64] }* | |
| %15 = load { [1 x i64] }, { [1 x i64] }* %14, align 4 | |
| %16 = alloca { [1 x i64] }, align 8 | |
| store { [1 x i64] } %15, { [1 x i64] }* %16, align 4 | |
| %17 = bitcast { [1 x i64] }* %16 to { {}*, [0 x i8] }* | |
| %18 = load { {}*, [0 x i8] }, { {}*, [0 x i8] }* %17, align 8 | |
| %_fmm_2ed = extractvalue { {}*, [0 x i8] } %18, 0 | |
| br i1 icmp ne (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 0), label %then4, label %else5 | |
| else2: ; preds = %phi | |
| %_result16 = tail call fastcc {} @_if_2a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2e2, { { {} (i64)*, {} (i64)* }*, i64 } %1, {}* %ctx, {}* %l) | |
| ret {} %_result16 | |
| phi3: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then4: ; preds = %then1 | |
| br i1 icmp ne (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 1), i64 1), label %then7, label %else8 | |
| else5: ; preds = %then1 | |
| %_result15 = tail call fastcc {} @_if_56({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2e2, {}* %_fmm_2ed, {}* %ctx, {}* %l) | |
| ret {} %_result15 | |
| phi6: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then7: ; preds = %then4 | |
| %19 = atomicrmw sub i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1) to i64*), i64 -1), i64 1 release, align 8 | |
| %20 = icmp eq i64 %19, 0 | |
| br i1 %20, label %then10, label %else11 | |
| else8: ; preds = %then4 | |
| %_result14 = tail call fastcc {} @_if_58({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2e2, {}* %_fmm_2ed, {}* %ctx, {}* %l) | |
| ret {} %_result14 | |
| phi9: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| then10: ; preds = %then7 | |
| fence acquire | |
| %_fmm_2ef = load {} (i64)*, {} (i64)** getelementptr ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }, { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* inttoptr (i64 and (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1), i64 -2) to { {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }*), i32 0, i32 1), align 8 | |
| %_fmm_2f0 = tail call {} %_fmm_2ef(i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1)) | |
| call void @_pen_free(i8* bitcast (i64* getelementptr (i64, i64* inttoptr (i64 or (i64 ptrtoint ({ {} ({ i8*, i64, i64 }*, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })*, {}*, {}*, {}*)*, {} (i64)*, {} }* @"/main.pen:serve" to i64), i64 1) to i64*), i64 -1) to i8*)) | |
| %_result = tail call fastcc {} @_if_5a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2e2, {}* %_fmm_2ed, {}* %ctx, {}* %l) | |
| ret {} %_result | |
| else11: ; preds = %then7 | |
| %_result13 = tail call fastcc {} @_if_5a({ i8*, i64, i64 }* %0, {} ({ i8*, i64, i64 }*, { { {} (i64)*, {} (i64)* }*, i64 })* %_k, {}* %_fmm_2e2, {}* %_fmm_2ed, {}* %ctx, {}* %l) | |
| ret {} %_result13 | |
| phi12: ; No predecessors! | |
| call void @_pen_unreachable() | |
| unreachable | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment