Files
sx/examples/expected/1809-concurrency-fiber-guard-stack.ir
agra dd532ab7b2 fibers B1.3b: mmap guard-page fiber stacks (x86_64 switch sibling deferred)
Fiber stacks are now mmap'd with a PROT_NONE guard page at the low end: mmap a
[guard | usable] region and mprotect the low 16KB page PROT_NONE, so a stack
overflow faults at the guard boundary instead of silently corrupting a neighbor
(design 8.1.1 — fixed stacks without a guard corrupt silently on overflow).

Locked by examples/1809-concurrency-fiber-guard-stack.sx (aarch64-macos-pinned):
guard armed: 1 (mprotect -> 0) + sum: 20100 (a fiber runs real recursion on the
guarded stack and yields). The guard FIRING is validated manually (a fiber
recursing past its 128KB stack faults with Bus error at region+GUARD, exit 134
via the sx crash handler) — not corpus-pinned, since a deliberate-overflow crash
is host-fragile and a 'child faulted' fork test would not prove the boundary
catch specifically.

The x86_64 swap_context sibling is DEFERRED: sx build --target x86_64-macos
mislinks on this arm64 host (object x86_64, link step arm64) and x86_64-linux
can't run here, so it could only ship IR-only / unrun. For the highest-
corruption-risk asm, shipping un-run / un-negative-controlled code violates the
design 10.7 'correctness not existence' rule. SysV target notes (rbx/rbp/r12-r15
/rsp, no callee-saved XMM, rsp-carried return address) recorded for a future
x86_64 host. Suite green 735/0.
2026-06-21 06:51:29 +03:00

16633 lines
800 KiB
Plaintext

module asm ".global _fib_tramp"
module asm "_fib_tramp:"
module asm " mov x0, x19"
module asm " bl _fib_body"
module asm " brk #0"
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } { ptr null, ptr @__thunk_CBlockingIo_Io_spawn_raw, ptr @__thunk_CBlockingIo_Io_suspend_raw, ptr @__thunk_CBlockingIo_Io_ready, ptr @__thunk_CBlockingIo_Io_poll, ptr @__thunk_CBlockingIo_Io_now_ms, ptr @__thunk_CBlockingIo_Io_arm_timer } }
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
@str.109 = private unnamed_addr constant [2 x i8] c"0\00", align 1
@str.110 = private unnamed_addr constant [5 x i8] c"true\00", align 1
@str.111 = private unnamed_addr constant [6 x i8] c"false\00", align 1
@str.112 = private unnamed_addr constant [2 x i8] c"0\00", align 1
@str.113 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.114 = private unnamed_addr constant [2 x i8] c"/\00", align 1
@str.115 = private unnamed_addr constant [4 x i8] c"<?>\00", align 1
@str.116 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@__sx_type_is_unsigned = private constant [395 x i1] [i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false]
@tag.str = private constant [1 x i8] zeroinitializer
@tag.str.117 = private constant [9 x i8] c"Canceled\00"
@tag.str.118 = private constant [7 x i8] c"Failed\00"
@tag.str.119 = private constant [11 x i8] c"WouldBlock\00"
@tag.str.120 = private constant [7 x i8] c"Closed\00"
@tag.str.121 = private constant [6 x i8] c"Fault\00"
@tag.str.122 = private constant [9 x i8] c"Overflow\00"
@tag.str.123 = private constant [3 x i8] c"Io\00"
@tag.str.124 = private constant [16 x i8] c"UnexpectedToken\00"
@tag.str.125 = private constant [14 x i8] c"UnexpectedEnd\00"
@tag.str.126 = private constant [10 x i8] c"BadEscape\00"
@tag.str.127 = private constant [10 x i8] c"BadNumber\00"
@tag.str.128 = private constant [16 x i8] c"TrailingGarbage\00"
@tag.str.129 = private constant [15 x i8] c"BadControlChar\00"
@tag.str.130 = private constant [15 x i8] c"UnknownCommand\00"
@tag.str.131 = private constant [12 x i8] c"UnknownFlag\00"
@tag.str.132 = private constant [13 x i8] c"MissingValue\00"
@tag.str.133 = private constant [16 x i8] c"MissingRequired\00"
@tag.str.134 = private constant [13 x i8] c"TooManyFlags\00"
@tag.str.135 = private constant [5 x i8] c"Init\00"
@tag.str.136 = private constant [9 x i8] c"Register\00"
@tag.str.137 = private constant [5 x i8] c"Wait\00"
@tag.str.138 = private constant [5 x i8] c"Bind\00"
@tag.str.139 = private constant [5 x i8] c"Loop\00"
@tag.str.140 = private constant [6 x i8] c"Spawn\00"
@tag_names = private constant [25 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.117, i64 8 }, { ptr, i64 } { ptr @tag.str.118, i64 6 }, { ptr, i64 } { ptr @tag.str.119, i64 10 }, { ptr, i64 } { ptr @tag.str.120, i64 6 }, { ptr, i64 } { ptr @tag.str.121, i64 5 }, { ptr, i64 } { ptr @tag.str.122, i64 8 }, { ptr, i64 } { ptr @tag.str.123, i64 2 }, { ptr, i64 } { ptr @tag.str.124, i64 15 }, { ptr, i64 } { ptr @tag.str.125, i64 13 }, { ptr, i64 } { ptr @tag.str.126, i64 9 }, { ptr, i64 } { ptr @tag.str.127, i64 9 }, { ptr, i64 } { ptr @tag.str.128, i64 15 }, { ptr, i64 } { ptr @tag.str.129, i64 14 }, { ptr, i64 } { ptr @tag.str.130, i64 14 }, { ptr, i64 } { ptr @tag.str.131, i64 11 }, { ptr, i64 } { ptr @tag.str.132, i64 12 }, { ptr, i64 } { ptr @tag.str.133, i64 15 }, { ptr, i64 } { ptr @tag.str.134, i64 12 }, { ptr, i64 } { ptr @tag.str.135, i64 4 }, { ptr, i64 } { ptr @tag.str.136, i64 8 }, { ptr, i64 } { ptr @tag.str.137, i64 4 }, { ptr, i64 } { ptr @tag.str.138, i64 4 }, { ptr, i64 } { ptr @tag.str.139, i64 4 }, { ptr, i64 } { ptr @tag.str.140, i64 5 }]
@tn.str = private constant [13 x i8] c"<unresolved>\00"
@tn.str.141 = private constant [5 x i8] c"bool\00"
@tn.str.142 = private constant [3 x i8] c"i8\00"
@tn.str.143 = private constant [4 x i8] c"i16\00"
@tn.str.144 = private constant [4 x i8] c"i32\00"
@tn.str.145 = private constant [4 x i8] c"i64\00"
@tn.str.146 = private constant [3 x i8] c"u8\00"
@tn.str.147 = private constant [4 x i8] c"u16\00"
@tn.str.148 = private constant [4 x i8] c"u32\00"
@tn.str.149 = private constant [4 x i8] c"u64\00"
@tn.str.150 = private constant [4 x i8] c"f32\00"
@tn.str.151 = private constant [4 x i8] c"f64\00"
@tn.str.152 = private constant [7 x i8] c"string\00"
@tn.str.153 = private constant [4 x i8] c"Any\00"
@tn.str.154 = private constant [9 x i8] c"noreturn\00"
@tn.str.155 = private constant [6 x i8] c"isize\00"
@tn.str.156 = private constant [6 x i8] c"usize\00"
@tn.str.157 = private constant [5 x i8] c"void\00"
@tn.str.158 = private constant [8 x i8] c"cstring\00"
@tn.str.159 = private constant [5 x i8] c"Type\00"
@tn.str.160 = private constant [2 x i8] c"?\00"
@tn.str.161 = private constant [2 x i8] c"?\00"
@tn.str.162 = private constant [2 x i8] c"?\00"
@tn.str.163 = private constant [2 x i8] c"?\00"
@tn.str.164 = private constant [2 x i8] c"?\00"
@tn.str.165 = private constant [2 x i8] c"?\00"
@tn.str.166 = private constant [2 x i8] c"?\00"
@tn.str.167 = private constant [2 x i8] c"?\00"
@tn.str.168 = private constant [2 x i8] c"?\00"
@tn.str.169 = private constant [2 x i8] c"?\00"
@tn.str.170 = private constant [2 x i8] c"?\00"
@tn.str.171 = private constant [2 x i8] c"?\00"
@tn.str.172 = private constant [2 x i8] c"?\00"
@tn.str.173 = private constant [2 x i8] c"?\00"
@tn.str.174 = private constant [2 x i8] c"?\00"
@tn.str.175 = private constant [2 x i8] c"?\00"
@tn.str.176 = private constant [2 x i8] c"?\00"
@tn.str.177 = private constant [2 x i8] c"?\00"
@tn.str.178 = private constant [2 x i8] c"?\00"
@tn.str.179 = private constant [2 x i8] c"?\00"
@tn.str.180 = private constant [2 x i8] c"?\00"
@tn.str.181 = private constant [2 x i8] c"?\00"
@tn.str.182 = private constant [2 x i8] c"?\00"
@tn.str.183 = private constant [2 x i8] c"?\00"
@tn.str.184 = private constant [2 x i8] c"?\00"
@tn.str.185 = private constant [2 x i8] c"?\00"
@tn.str.186 = private constant [2 x i8] c"?\00"
@tn.str.187 = private constant [2 x i8] c"?\00"
@tn.str.188 = private constant [2 x i8] c"?\00"
@tn.str.189 = private constant [2 x i8] c"?\00"
@tn.str.190 = private constant [2 x i8] c"?\00"
@tn.str.191 = private constant [2 x i8] c"?\00"
@tn.str.192 = private constant [2 x i8] c"?\00"
@tn.str.193 = private constant [2 x i8] c"?\00"
@tn.str.194 = private constant [2 x i8] c"?\00"
@tn.str.195 = private constant [2 x i8] c"?\00"
@tn.str.196 = private constant [2 x i8] c"?\00"
@tn.str.197 = private constant [2 x i8] c"?\00"
@tn.str.198 = private constant [2 x i8] c"?\00"
@tn.str.199 = private constant [2 x i8] c"?\00"
@tn.str.200 = private constant [2 x i8] c"?\00"
@tn.str.201 = private constant [2 x i8] c"?\00"
@tn.str.202 = private constant [2 x i8] c"?\00"
@tn.str.203 = private constant [2 x i8] c"?\00"
@tn.str.204 = private constant [2 x i8] c"?\00"
@tn.str.205 = private constant [2 x i8] c"?\00"
@tn.str.206 = private constant [2 x i8] c"?\00"
@tn.str.207 = private constant [2 x i8] c"?\00"
@tn.str.208 = private constant [2 x i8] c"?\00"
@tn.str.209 = private constant [2 x i8] c"?\00"
@tn.str.210 = private constant [2 x i8] c"?\00"
@tn.str.211 = private constant [2 x i8] c"?\00"
@tn.str.212 = private constant [2 x i8] c"?\00"
@tn.str.213 = private constant [2 x i8] c"?\00"
@tn.str.214 = private constant [2 x i8] c"?\00"
@tn.str.215 = private constant [2 x i8] c"?\00"
@tn.str.216 = private constant [2 x i8] c"?\00"
@tn.str.217 = private constant [2 x i8] c"?\00"
@tn.str.218 = private constant [2 x i8] c"?\00"
@tn.str.219 = private constant [2 x i8] c"?\00"
@tn.str.220 = private constant [2 x i8] c"?\00"
@tn.str.221 = private constant [2 x i8] c"?\00"
@tn.str.222 = private constant [2 x i8] c"?\00"
@tn.str.223 = private constant [2 x i8] c"?\00"
@tn.str.224 = private constant [2 x i8] c"?\00"
@tn.str.225 = private constant [2 x i8] c"?\00"
@tn.str.226 = private constant [2 x i8] c"?\00"
@tn.str.227 = private constant [2 x i8] c"?\00"
@tn.str.228 = private constant [2 x i8] c"?\00"
@tn.str.229 = private constant [2 x i8] c"?\00"
@tn.str.230 = private constant [2 x i8] c"?\00"
@tn.str.231 = private constant [2 x i8] c"?\00"
@tn.str.232 = private constant [2 x i8] c"?\00"
@tn.str.233 = private constant [2 x i8] c"?\00"
@tn.str.234 = private constant [2 x i8] c"?\00"
@tn.str.235 = private constant [2 x i8] c"?\00"
@tn.str.236 = private constant [2 x i8] c"?\00"
@tn.str.237 = private constant [2 x i8] c"?\00"
@tn.str.238 = private constant [2 x i8] c"?\00"
@tn.str.239 = private constant [2 x i8] c"?\00"
@tn.str.240 = private constant [6 x i8] c"[*]u8\00"
@tn.str.241 = private constant [6 x i8] c"*void\00"
@tn.str.242 = private constant [16 x i8] c"Source_Location\00"
@tn.str.243 = private constant [10 x i8] c"Allocator\00"
@tn.str.244 = private constant [10 x i8] c"PinTarget\00"
@tn.str.245 = private constant [10 x i8] c"SpawnOpts\00"
@tn.str.246 = private constant [10 x i8] c"ParkToken\00"
@tn.str.247 = private constant [3 x i8] c"Io\00"
@tn.str.248 = private constant [2 x i8] c"!\00"
@tn.str.249 = private constant [8 x i8] c"Context\00"
@tn.str.250 = private constant [7 x i8] c"[4]i64\00"
@tn.str.251 = private constant [9 x i8] c"[]string\00"
@tn.str.252 = private constant [9 x i8] c"Ordering\00"
@tn.str.253 = private constant [9 x i8] c"Timespec\00"
@tn.str.254 = private constant [10 x i8] c"*Timespec\00"
@tn.str.255 = private constant [6 x i8] c"IoErr\00"
@tn.str.256 = private constant [12 x i8] c"CBlockingIo\00"
@tn.str.257 = private constant [13 x i8] c"*CBlockingIo\00"
@tn.str.258 = private constant [12 x i8] c"FutureState\00"
@tn.str.259 = private constant [11 x i8] c"CAllocator\00"
@tn.str.260 = private constant [12 x i8] c"*CAllocator\00"
@tn.str.261 = private constant [4 x i8] c"GPA\00"
@tn.str.262 = private constant [5 x i8] c"*GPA\00"
@tn.str.263 = private constant [11 x i8] c"ArenaChunk\00"
@tn.str.264 = private constant [12 x i8] c"*ArenaChunk\00"
@tn.str.265 = private constant [6 x i8] c"Arena\00"
@tn.str.266 = private constant [7 x i8] c"*Arena\00"
@tn.str.267 = private constant [9 x i8] c"BufAlloc\00"
@tn.str.268 = private constant [10 x i8] c"*BufAlloc\00"
@tn.str.269 = private constant [18 x i8] c"TrackingAllocator\00"
@tn.str.270 = private constant [19 x i8] c"*TrackingAllocator\00"
@tn.str.271 = private constant [9 x i8] c"OpenMode\00"
@tn.str.272 = private constant [9 x i8] c"SeekFrom\00"
@tn.str.273 = private constant [5 x i8] c"File\00"
@tn.str.274 = private constant [6 x i8] c"*File\00"
@tn.str.275 = private constant [6 x i8] c"?File\00"
@tn.str.276 = private constant [8 x i8] c"?string\00"
@tn.str.277 = private constant [11 x i8] c"TraceFrame\00"
@tn.str.278 = private constant [9 x i8] c"?cstring\00"
@tn.str.279 = private constant [14 x i8] c"ProcessResult\00"
@tn.str.280 = private constant [15 x i8] c"?ProcessResult\00"
@tn.str.281 = private constant [5 x i8] c"*i32\00"
@tn.str.282 = private constant [9 x i8] c"SockAddr\00"
@tn.str.283 = private constant [10 x i8] c"*SockAddr\00"
@tn.str.284 = private constant [5 x i8] c"*u32\00"
@tn.str.285 = private constant [8 x i8] c"SockErr\00"
@tn.str.286 = private constant [15 x i8] c"(i32, SockErr)\00"
@tn.str.287 = private constant [15 x i8] c"(i64, SockErr)\00"
@tn.str.288 = private constant [10 x i8] c"JsonError\00"
@tn.str.289 = private constant [6 x i8] c"Array\00"
@tn.str.290 = private constant [7 x i8] c"Object\00"
@tn.str.291 = private constant [6 x i8] c"Value\00"
@tn.str.292 = private constant [7 x i8] c"Member\00"
@tn.str.293 = private constant [9 x i8] c"[*]Value\00"
@tn.str.294 = private constant [7 x i8] c"*Array\00"
@tn.str.295 = private constant [10 x i8] c"[*]Member\00"
@tn.str.296 = private constant [8 x i8] c"*Object\00"
@tn.str.297 = private constant [5 x i8] c"[]u8\00"
@tn.str.298 = private constant [5 x i8] c"Sink\00"
@tn.str.299 = private constant [6 x i8] c"*Sink\00"
@tn.str.300 = private constant [17 x i8] c"(i64, JsonError)\00"
@tn.str.301 = private constant [15 x i8] c"JsonParseError\00"
@tn.str.302 = private constant [22 x i8] c"(i64, JsonParseError)\00"
@tn.str.303 = private constant [7 x i8] c"Parser\00"
@tn.str.304 = private constant [8 x i8] c"*Parser\00"
@tn.str.305 = private constant [25 x i8] c"(string, JsonParseError)\00"
@tn.str.306 = private constant [24 x i8] c"(Value, JsonParseError)\00"
@tn.str.307 = private constant [10 x i8] c"[*]string\00"
@tn.str.308 = private constant [13 x i8] c"List__string\00"
@tn.str.309 = private constant [13 x i8] c"BuildOptions\00"
@tn.str.310 = private constant [16 x i8] c"OperatingSystem\00"
@tn.str.311 = private constant [13 x i8] c"Architecture\00"
@tn.str.312 = private constant [23 x i8] c"(BuildOptions) -> bool\00"
@tn.str.313 = private constant [5 x i8] c"*i64\00"
@tn.str.314 = private constant [9 x i8] c"CliError\00"
@tn.str.315 = private constant [9 x i8] c"FlagSpec\00"
@tn.str.316 = private constant [11 x i8] c"[]FlagSpec\00"
@tn.str.317 = private constant [8 x i8] c"Command\00"
@tn.str.318 = private constant [10 x i8] c"FlagValue\00"
@tn.str.319 = private constant [5 x i8] c"Diag\00"
@tn.str.320 = private constant [14 x i8] c"[16]FlagValue\00"
@tn.str.321 = private constant [7 x i8] c"Parsed\00"
@tn.str.322 = private constant [8 x i8] c"*Parsed\00"
@tn.str.323 = private constant [19 x i8] c"(Parsed, CliError)\00"
@tn.str.324 = private constant [10 x i8] c"[]Command\00"
@tn.str.325 = private constant [6 x i8] c"*Diag\00"
@tn.str.326 = private constant [7 x i8] c"[8]i64\00"
@tn.str.327 = private constant [7 x i8] c"[64]u8\00"
@tn.str.328 = private constant [7 x i8] c"Sha256\00"
@tn.str.329 = private constant [8 x i8] c"*Sha256\00"
@tn.str.330 = private constant [8 x i8] c"?[64]u8\00"
@tn.str.331 = private constant [8 x i8] c"[64]i64\00"
@tn.str.332 = private constant [7 x i8] c"Kevent\00"
@tn.str.333 = private constant [11 x i8] c"KqTimespec\00"
@tn.str.334 = private constant [8 x i8] c"*Kevent\00"
@tn.str.335 = private constant [12 x i8] c"*KqTimespec\00"
@tn.str.336 = private constant [9 x i8] c"EventErr\00"
@tn.str.337 = private constant [6 x i8] c"Event\00"
@tn.str.338 = private constant [5 x i8] c"Loop\00"
@tn.str.339 = private constant [17 x i8] c"(Loop, EventErr)\00"
@tn.str.340 = private constant [6 x i8] c"*Loop\00"
@tn.str.341 = private constant [16 x i8] c"(i64, EventErr)\00"
@tn.str.342 = private constant [8 x i8] c"[]Event\00"
@tn.str.343 = private constant [8 x i8] c"HttpErr\00"
@tn.str.344 = private constant [7 x i8] c"Config\00"
@tn.str.345 = private constant [8 x i8] c"Request\00"
@tn.str.346 = private constant [9 x i8] c"Response\00"
@tn.str.347 = private constant [9 x i8] c"*Request\00"
@tn.str.348 = private constant [5 x i8] c"Conn\00"
@tn.str.349 = private constant [9 x i8] c"OutBytes\00"
@tn.str.350 = private constant [11 x i8] c"Completion\00"
@tn.str.351 = private constant [5 x i8] c"Pool\00"
@tn.str.352 = private constant [6 x i8] c"*Pool\00"
@tn.str.353 = private constant [6 x i8] c"Mutex\00"
@tn.str.354 = private constant [14 x i8] c"[*]Completion\00"
@tn.str.355 = private constant [10 x i8] c"PoolState\00"
@tn.str.356 = private constant [10 x i8] c"*Response\00"
@tn.str.357 = private constant [29 x i8] c"(*Request, *Response, usize)\00"
@tn.str.358 = private constant [11 x i8] c"*PoolState\00"
@tn.str.359 = private constant [11 x i8] c"HandlerJob\00"
@tn.str.360 = private constant [8 x i8] c"[*]Conn\00"
@tn.str.361 = private constant [7 x i8] c"Server\00"
@tn.str.362 = private constant [18 x i8] c"(Server, HttpErr)\00"
@tn.str.363 = private constant [8 x i8] c"*Server\00"
@tn.str.364 = private constant [7 x i8] c"*usize\00"
@tn.str.365 = private constant [17 x i8] c"(*void) -> *void\00"
@tn.str.366 = private constant [7 x i8] c"**void\00"
@tn.str.367 = private constant [9 x i8] c"MutexBuf\00"
@tn.str.368 = private constant [10 x i8] c"*MutexBuf\00"
@tn.str.369 = private constant [8 x i8] c"CondBuf\00"
@tn.str.370 = private constant [9 x i8] c"*CondBuf\00"
@tn.str.371 = private constant [10 x i8] c"ThreadErr\00"
@tn.str.372 = private constant [7 x i8] c"*Mutex\00"
@tn.str.373 = private constant [5 x i8] c"Cond\00"
@tn.str.374 = private constant [6 x i8] c"*Cond\00"
@tn.str.375 = private constant [7 x i8] c"Thread\00"
@tn.str.376 = private constant [20 x i8] c"(Thread, ThreadErr)\00"
@tn.str.377 = private constant [8 x i8] c"*Thread\00"
@tn.str.378 = private constant [8 x i8] c"(usize)\00"
@tn.str.379 = private constant [9 x i8] c"PoolTask\00"
@tn.str.380 = private constant [12 x i8] c"[*]PoolTask\00"
@tn.str.381 = private constant [9 x i8] c"[*]usize\00"
@tn.str.382 = private constant [19 x i8] c"(*Pool, ThreadErr)\00"
@tn.str.383 = private constant [8 x i8] c"[13]u64\00"
@tn.str.384 = private constant [9 x i8] c"FiberCtx\00"
@tn.str.385 = private constant [10 x i8] c"*FiberCtx\00"
@tn.str.386 = private constant [6 x i8] c"Fiber\00"
@tn.str.387 = private constant [7 x i8] c"*Fiber\00"
@tn.str.388 = private constant [13 x i8] c"**CAllocator\00"
@tn.str.389 = private constant [14 x i8] c"**CBlockingIo\00"
@tn.str.390 = private constant [11 x i8] c"*SpawnOpts\00"
@tn.str.391 = private constant [11 x i8] c"*ParkToken\00"
@tn.str.392 = private constant [8 x i8] c"**Fiber\00"
@tn.str.393 = private constant [11 x i8] c"**FiberCtx\00"
@tn.str.394 = private constant [5 x i8] c"*u64\00"
@tn.str.395 = private constant [9 x i8] c"*[13]u64\00"
@tn.str.396 = private constant [8 x i8] c"*string\00"
@tn.str.397 = private constant [6 x i8] c"[]Any\00"
@tn.str.398 = private constant [5 x i8] c"*Any\00"
@tn.str.399 = private constant [7 x i8] c"[1]Any\00"
@tn.str.400 = private constant [8 x i8] c"*[1]Any\00"
@tn.str.401 = private constant [7 x i8] c"*[]Any\00"
@tn.str.402 = private constant [4 x i8] c"*u8\00"
@tn.str.403 = private constant [6 x i8] c"*bool\00"
@tn.str.404 = private constant [14 x i8] c"*BuildOptions\00"
@tn.str.405 = private constant [14 x i8] c"*List__string\00"
@tn.str.406 = private constant [15 x i8] c"**List__string\00"
@tn.str.407 = private constant [11 x i8] c"*Allocator\00"
@tn.str.408 = private constant [11 x i8] c"*[*]string\00"
@tn.str.409 = private constant [15 x i8] c"*ProcessResult\00"
@tn.str.410 = private constant [10 x i8] c"*[]string\00"
@tn.str.411 = private constant [10 x i8] c"[2]string\00"
@tn.str.412 = private constant [11 x i8] c"*[2]string\00"
@tn.str.413 = private constant [10 x i8] c"*?cstring\00"
@tn.str.414 = private constant [9 x i8] c"*cstring\00"
@tn.str.415 = private constant [7 x i8] c"*[*]u8\00"
@tn.str.416 = private constant [7 x i8] c"*isize\00"
@tn.str.417 = private constant [7 x i8] c"[4]Any\00"
@tn.str.418 = private constant [8 x i8] c"*[4]Any\00"
@tn.str.419 = private constant [7 x i8] c"[5]Any\00"
@tn.str.420 = private constant [8 x i8] c"*[5]Any\00"
@tn.str.421 = private constant [7 x i8] c"[3]Any\00"
@tn.str.422 = private constant [8 x i8] c"*[3]Any\00"
@tn.str.423 = private constant [6 x i8] c"*Type\00"
@tn.str.424 = private constant [8 x i8] c"*[4]i64\00"
@tn.str.425 = private constant [5 x i8] c"*f64\00"
@tn.str.426 = private constant [17 x i8] c"*Source_Location\00"
@tn.str.427 = private constant [4 x i8] c"*Io\00"
@tn.str.428 = private constant [9 x i8] c"*Context\00"
@tn.str.429 = private constant [12 x i8] c"*TraceFrame\00"
@tn.str.430 = private constant [8 x i8] c"*Member\00"
@tn.str.431 = private constant [10 x i8] c"*FlagSpec\00"
@tn.str.432 = private constant [9 x i8] c"*Command\00"
@tn.str.433 = private constant [11 x i8] c"*FlagValue\00"
@tn.str.434 = private constant [7 x i8] c"*Event\00"
@tn.str.435 = private constant [8 x i8] c"*Config\00"
@tn.str.436 = private constant [6 x i8] c"*Conn\00"
@tn.str.437 = private constant [10 x i8] c"*OutBytes\00"
@tn.str.438 = private constant [12 x i8] c"*Completion\00"
@tn.str.439 = private constant [12 x i8] c"*HandlerJob\00"
@tn.str.440 = private constant [10 x i8] c"*PoolTask\00"
@tn.str.441 = private constant [11 x i8] c"*PinTarget\00"
@tn.str.442 = private constant [10 x i8] c"*Ordering\00"
@tn.str.443 = private constant [13 x i8] c"*FutureState\00"
@tn.str.444 = private constant [10 x i8] c"*OpenMode\00"
@tn.str.445 = private constant [10 x i8] c"*SeekFrom\00"
@tn.str.446 = private constant [7 x i8] c"*Value\00"
@tn.str.447 = private constant [17 x i8] c"*OperatingSystem\00"
@tn.str.448 = private constant [14 x i8] c"*Architecture\00"
@tn.str.449 = private constant [6 x i8] c"[]i64\00"
@tn.str.450 = private constant [7 x i8] c"[*]i64\00"
@tn.str.451 = private constant [7 x i8] c"*[]i64\00"
@tn.str.452 = private constant [12 x i8] c"[]FlagValue\00"
@tn.str.453 = private constant [13 x i8] c"[*]FlagValue\00"
@tn.str.454 = private constant [13 x i8] c"*[]FlagValue\00"
@tn.str.455 = private constant [6 x i8] c"*[]u8\00"
@tn.str.456 = private constant [6 x i8] c"[]u64\00"
@tn.str.457 = private constant [7 x i8] c"[*]u64\00"
@tn.str.458 = private constant [7 x i8] c"*[]u64\00"
@tn.str.459 = private constant [7 x i8] c"[*]Any\00"
@tn.str.460 = private constant [12 x i8] c"*[]FlagSpec\00"
@tn.str.461 = private constant [11 x i8] c"*[]Command\00"
@tn.str.462 = private constant [9 x i8] c"*[]Event\00"
@tn.str.463 = private constant [11 x i8] c"**Timespec\00"
@tn.str.464 = private constant [6 x i8] c"**GPA\00"
@tn.str.465 = private constant [13 x i8] c"**ArenaChunk\00"
@tn.str.466 = private constant [8 x i8] c"**Arena\00"
@tn.str.467 = private constant [11 x i8] c"**BufAlloc\00"
@tn.str.468 = private constant [20 x i8] c"**TrackingAllocator\00"
@tn.str.469 = private constant [7 x i8] c"**File\00"
@tn.str.470 = private constant [6 x i8] c"**i32\00"
@tn.str.471 = private constant [11 x i8] c"**SockAddr\00"
@tn.str.472 = private constant [6 x i8] c"**u32\00"
@tn.str.473 = private constant [10 x i8] c"*[*]Value\00"
@tn.str.474 = private constant [8 x i8] c"**Array\00"
@tn.str.475 = private constant [11 x i8] c"*[*]Member\00"
@tn.str.476 = private constant [9 x i8] c"**Object\00"
@tn.str.477 = private constant [7 x i8] c"**Sink\00"
@tn.str.478 = private constant [9 x i8] c"**Parser\00"
@tn.str.479 = private constant [6 x i8] c"**i64\00"
@tn.str.480 = private constant [9 x i8] c"**Parsed\00"
@tn.str.481 = private constant [7 x i8] c"**Diag\00"
@tn.str.482 = private constant [9 x i8] c"**Sha256\00"
@tn.str.483 = private constant [9 x i8] c"**Kevent\00"
@tn.str.484 = private constant [13 x i8] c"**KqTimespec\00"
@tn.str.485 = private constant [7 x i8] c"**Loop\00"
@tn.str.486 = private constant [10 x i8] c"**Request\00"
@tn.str.487 = private constant [7 x i8] c"**Pool\00"
@tn.str.488 = private constant [15 x i8] c"*[*]Completion\00"
@tn.str.489 = private constant [11 x i8] c"**Response\00"
@tn.str.490 = private constant [12 x i8] c"**PoolState\00"
@tn.str.491 = private constant [9 x i8] c"*[*]Conn\00"
@tn.str.492 = private constant [9 x i8] c"**Server\00"
@tn.str.493 = private constant [8 x i8] c"**usize\00"
@tn.str.494 = private constant [8 x i8] c"***void\00"
@tn.str.495 = private constant [11 x i8] c"**MutexBuf\00"
@tn.str.496 = private constant [10 x i8] c"**CondBuf\00"
@tn.str.497 = private constant [8 x i8] c"**Mutex\00"
@tn.str.498 = private constant [7 x i8] c"**Cond\00"
@tn.str.499 = private constant [9 x i8] c"**Thread\00"
@tn.str.500 = private constant [13 x i8] c"*[*]PoolTask\00"
@tn.str.501 = private constant [10 x i8] c"*[*]usize\00"
@tn.str.502 = private constant [14 x i8] c"***CAllocator\00"
@tn.str.503 = private constant [15 x i8] c"***CBlockingIo\00"
@tn.str.504 = private constant [12 x i8] c"**SpawnOpts\00"
@tn.str.505 = private constant [12 x i8] c"**ParkToken\00"
@tn.str.506 = private constant [9 x i8] c"***Fiber\00"
@tn.str.507 = private constant [12 x i8] c"***FiberCtx\00"
@tn.str.508 = private constant [6 x i8] c"**u64\00"
@tn.str.509 = private constant [10 x i8] c"**[13]u64\00"
@tn.str.510 = private constant [9 x i8] c"**string\00"
@tn.str.511 = private constant [6 x i8] c"**Any\00"
@tn.str.512 = private constant [9 x i8] c"**[1]Any\00"
@tn.str.513 = private constant [8 x i8] c"**[]Any\00"
@tn.str.514 = private constant [5 x i8] c"**u8\00"
@tn.str.515 = private constant [7 x i8] c"**bool\00"
@tn.str.516 = private constant [15 x i8] c"**BuildOptions\00"
@tn.str.517 = private constant [16 x i8] c"***List__string\00"
@tn.str.518 = private constant [12 x i8] c"**Allocator\00"
@tn.str.519 = private constant [12 x i8] c"**[*]string\00"
@tn.str.520 = private constant [16 x i8] c"**ProcessResult\00"
@tn.str.521 = private constant [11 x i8] c"**[]string\00"
@tn.str.522 = private constant [12 x i8] c"**[2]string\00"
@tn.str.523 = private constant [11 x i8] c"**?cstring\00"
@tn.str.524 = private constant [10 x i8] c"**cstring\00"
@tn.str.525 = private constant [8 x i8] c"**[*]u8\00"
@tn.str.526 = private constant [8 x i8] c"**isize\00"
@tn.str.527 = private constant [9 x i8] c"**[4]Any\00"
@tn.str.528 = private constant [9 x i8] c"**[5]Any\00"
@tn.str.529 = private constant [9 x i8] c"**[3]Any\00"
@tn.str.530 = private constant [7 x i8] c"**Type\00"
@tn.str.531 = private constant [7 x i8] c"*?File\00"
@tn.str.532 = private constant [9 x i8] c"*?string\00"
@tn.str.533 = private constant [16 x i8] c"*?ProcessResult\00"
@tn.str.534 = private constant [9 x i8] c"*?[64]u8\00"
@__sx_type_names = private constant [395 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 2 }, { ptr, i64 } { ptr @tn.str.143, i64 3 }, { ptr, i64 } { ptr @tn.str.144, i64 3 }, { ptr, i64 } { ptr @tn.str.145, i64 3 }, { ptr, i64 } { ptr @tn.str.146, i64 2 }, { ptr, i64 } { ptr @tn.str.147, i64 3 }, { ptr, i64 } { ptr @tn.str.148, i64 3 }, { ptr, i64 } { ptr @tn.str.149, i64 3 }, { ptr, i64 } { ptr @tn.str.150, i64 3 }, { ptr, i64 } { ptr @tn.str.151, i64 3 }, { ptr, i64 } { ptr @tn.str.152, i64 6 }, { ptr, i64 } { ptr @tn.str.153, i64 3 }, { ptr, i64 } { ptr @tn.str.154, i64 8 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 4 }, { ptr, i64 } { ptr @tn.str.158, i64 7 }, { ptr, i64 } { ptr @tn.str.159, i64 4 }, { ptr, i64 } { ptr @tn.str.160, i64 1 }, { ptr, i64 } { ptr @tn.str.161, i64 1 }, { ptr, i64 } { ptr @tn.str.162, i64 1 }, { ptr, i64 } { ptr @tn.str.163, i64 1 }, { ptr, i64 } { ptr @tn.str.164, i64 1 }, { ptr, i64 } { ptr @tn.str.165, i64 1 }, { ptr, i64 } { ptr @tn.str.166, i64 1 }, { ptr, i64 } { ptr @tn.str.167, i64 1 }, { ptr, i64 } { ptr @tn.str.168, i64 1 }, { ptr, i64 } { ptr @tn.str.169, i64 1 }, { ptr, i64 } { ptr @tn.str.170, i64 1 }, { ptr, i64 } { ptr @tn.str.171, i64 1 }, { ptr, i64 } { ptr @tn.str.172, i64 1 }, { ptr, i64 } { ptr @tn.str.173, i64 1 }, { ptr, i64 } { ptr @tn.str.174, i64 1 }, { ptr, i64 } { ptr @tn.str.175, i64 1 }, { ptr, i64 } { ptr @tn.str.176, i64 1 }, { ptr, i64 } { ptr @tn.str.177, i64 1 }, { ptr, i64 } { ptr @tn.str.178, i64 1 }, { ptr, i64 } { ptr @tn.str.179, i64 1 }, { ptr, i64 } { ptr @tn.str.180, i64 1 }, { ptr, i64 } { ptr @tn.str.181, i64 1 }, { ptr, i64 } { ptr @tn.str.182, i64 1 }, { ptr, i64 } { ptr @tn.str.183, i64 1 }, { ptr, i64 } { ptr @tn.str.184, i64 1 }, { ptr, i64 } { ptr @tn.str.185, i64 1 }, { ptr, i64 } { ptr @tn.str.186, i64 1 }, { ptr, i64 } { ptr @tn.str.187, i64 1 }, { ptr, i64 } { ptr @tn.str.188, i64 1 }, { ptr, i64 } { ptr @tn.str.189, i64 1 }, { ptr, i64 } { ptr @tn.str.190, i64 1 }, { ptr, i64 } { ptr @tn.str.191, i64 1 }, { ptr, i64 } { ptr @tn.str.192, i64 1 }, { ptr, i64 } { ptr @tn.str.193, i64 1 }, { ptr, i64 } { ptr @tn.str.194, i64 1 }, { ptr, i64 } { ptr @tn.str.195, i64 1 }, { ptr, i64 } { ptr @tn.str.196, i64 1 }, { ptr, i64 } { ptr @tn.str.197, i64 1 }, { ptr, i64 } { ptr @tn.str.198, i64 1 }, { ptr, i64 } { ptr @tn.str.199, i64 1 }, { ptr, i64 } { ptr @tn.str.200, i64 1 }, { ptr, i64 } { ptr @tn.str.201, i64 1 }, { ptr, i64 } { ptr @tn.str.202, i64 1 }, { ptr, i64 } { ptr @tn.str.203, i64 1 }, { ptr, i64 } { ptr @tn.str.204, i64 1 }, { ptr, i64 } { ptr @tn.str.205, i64 1 }, { ptr, i64 } { ptr @tn.str.206, i64 1 }, { ptr, i64 } { ptr @tn.str.207, i64 1 }, { ptr, i64 } { ptr @tn.str.208, i64 1 }, { ptr, i64 } { ptr @tn.str.209, i64 1 }, { ptr, i64 } { ptr @tn.str.210, i64 1 }, { ptr, i64 } { ptr @tn.str.211, i64 1 }, { ptr, i64 } { ptr @tn.str.212, i64 1 }, { ptr, i64 } { ptr @tn.str.213, i64 1 }, { ptr, i64 } { ptr @tn.str.214, i64 1 }, { ptr, i64 } { ptr @tn.str.215, i64 1 }, { ptr, i64 } { ptr @tn.str.216, i64 1 }, { ptr, i64 } { ptr @tn.str.217, i64 1 }, { ptr, i64 } { ptr @tn.str.218, i64 1 }, { ptr, i64 } { ptr @tn.str.219, i64 1 }, { ptr, i64 } { ptr @tn.str.220, i64 1 }, { ptr, i64 } { ptr @tn.str.221, i64 1 }, { ptr, i64 } { ptr @tn.str.222, i64 1 }, { ptr, i64 } { ptr @tn.str.223, i64 1 }, { ptr, i64 } { ptr @tn.str.224, i64 1 }, { ptr, i64 } { ptr @tn.str.225, i64 1 }, { ptr, i64 } { ptr @tn.str.226, i64 1 }, { ptr, i64 } { ptr @tn.str.227, i64 1 }, { ptr, i64 } { ptr @tn.str.228, i64 1 }, { ptr, i64 } { ptr @tn.str.229, i64 1 }, { ptr, i64 } { ptr @tn.str.230, i64 1 }, { ptr, i64 } { ptr @tn.str.231, i64 1 }, { ptr, i64 } { ptr @tn.str.232, i64 1 }, { ptr, i64 } { ptr @tn.str.233, i64 1 }, { ptr, i64 } { ptr @tn.str.234, i64 1 }, { ptr, i64 } { ptr @tn.str.235, i64 1 }, { ptr, i64 } { ptr @tn.str.236, i64 1 }, { ptr, i64 } { ptr @tn.str.237, i64 1 }, { ptr, i64 } { ptr @tn.str.238, i64 1 }, { ptr, i64 } { ptr @tn.str.239, i64 1 }, { ptr, i64 } { ptr @tn.str.240, i64 5 }, { ptr, i64 } { ptr @tn.str.241, i64 5 }, { ptr, i64 } { ptr @tn.str.242, i64 15 }, { ptr, i64 } { ptr @tn.str.243, i64 9 }, { ptr, i64 } { ptr @tn.str.244, i64 9 }, { ptr, i64 } { ptr @tn.str.245, i64 9 }, { ptr, i64 } { ptr @tn.str.246, i64 9 }, { ptr, i64 } { ptr @tn.str.247, i64 2 }, { ptr, i64 } { ptr @tn.str.248, i64 1 }, { ptr, i64 } { ptr @tn.str.249, i64 7 }, { ptr, i64 } { ptr @tn.str.250, i64 6 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 9 }, { ptr, i64 } { ptr @tn.str.255, i64 5 }, { ptr, i64 } { ptr @tn.str.256, i64 11 }, { ptr, i64 } { ptr @tn.str.257, i64 12 }, { ptr, i64 } { ptr @tn.str.258, i64 11 }, { ptr, i64 } { ptr @tn.str.259, i64 10 }, { ptr, i64 } { ptr @tn.str.260, i64 11 }, { ptr, i64 } { ptr @tn.str.261, i64 3 }, { ptr, i64 } { ptr @tn.str.262, i64 4 }, { ptr, i64 } { ptr @tn.str.263, i64 10 }, { ptr, i64 } { ptr @tn.str.264, i64 11 }, { ptr, i64 } { ptr @tn.str.265, i64 5 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 9 }, { ptr, i64 } { ptr @tn.str.269, i64 17 }, { ptr, i64 } { ptr @tn.str.270, i64 18 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 8 }, { ptr, i64 } { ptr @tn.str.273, i64 4 }, { ptr, i64 } { ptr @tn.str.274, i64 5 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 7 }, { ptr, i64 } { ptr @tn.str.277, i64 10 }, { ptr, i64 } { ptr @tn.str.278, i64 8 }, { ptr, i64 } { ptr @tn.str.279, i64 13 }, { ptr, i64 } { ptr @tn.str.280, i64 14 }, { ptr, i64 } { ptr @tn.str.281, i64 4 }, { ptr, i64 } { ptr @tn.str.282, i64 8 }, { ptr, i64 } { ptr @tn.str.283, i64 9 }, { ptr, i64 } { ptr @tn.str.284, i64 4 }, { ptr, i64 } { ptr @tn.str.285, i64 7 }, { ptr, i64 } { ptr @tn.str.286, i64 14 }, { ptr, i64 } { ptr @tn.str.287, i64 14 }, { ptr, i64 } { ptr @tn.str.288, i64 9 }, { ptr, i64 } { ptr @tn.str.289, i64 5 }, { ptr, i64 } { ptr @tn.str.290, i64 6 }, { ptr, i64 } { ptr @tn.str.291, i64 5 }, { ptr, i64 } { ptr @tn.str.292, i64 6 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 6 }, { ptr, i64 } { ptr @tn.str.295, i64 9 }, { ptr, i64 } { ptr @tn.str.296, i64 7 }, { ptr, i64 } { ptr @tn.str.297, i64 4 }, { ptr, i64 } { ptr @tn.str.298, i64 4 }, { ptr, i64 } { ptr @tn.str.299, i64 5 }, { ptr, i64 } { ptr @tn.str.300, i64 16 }, { ptr, i64 } { ptr @tn.str.301, i64 14 }, { ptr, i64 } { ptr @tn.str.302, i64 21 }, { ptr, i64 } { ptr @tn.str.303, i64 6 }, { ptr, i64 } { ptr @tn.str.304, i64 7 }, { ptr, i64 } { ptr @tn.str.305, i64 24 }, { ptr, i64 } { ptr @tn.str.306, i64 23 }, { ptr, i64 } { ptr @tn.str.307, i64 9 }, { ptr, i64 } { ptr @tn.str.308, i64 12 }, { ptr, i64 } { ptr @tn.str.309, i64 12 }, { ptr, i64 } { ptr @tn.str.310, i64 15 }, { ptr, i64 } { ptr @tn.str.311, i64 12 }, { ptr, i64 } { ptr @tn.str.312, i64 22 }, { ptr, i64 } { ptr @tn.str.313, i64 4 }, { ptr, i64 } { ptr @tn.str.314, i64 8 }, { ptr, i64 } { ptr @tn.str.315, i64 8 }, { ptr, i64 } { ptr @tn.str.316, i64 10 }, { ptr, i64 } { ptr @tn.str.317, i64 7 }, { ptr, i64 } { ptr @tn.str.318, i64 9 }, { ptr, i64 } { ptr @tn.str.319, i64 4 }, { ptr, i64 } { ptr @tn.str.320, i64 13 }, { ptr, i64 } { ptr @tn.str.321, i64 6 }, { ptr, i64 } { ptr @tn.str.322, i64 7 }, { ptr, i64 } { ptr @tn.str.323, i64 18 }, { ptr, i64 } { ptr @tn.str.324, i64 9 }, { ptr, i64 } { ptr @tn.str.325, i64 5 }, { ptr, i64 } { ptr @tn.str.326, i64 6 }, { ptr, i64 } { ptr @tn.str.327, i64 6 }, { ptr, i64 } { ptr @tn.str.328, i64 6 }, { ptr, i64 } { ptr @tn.str.329, i64 7 }, { ptr, i64 } { ptr @tn.str.330, i64 7 }, { ptr, i64 } { ptr @tn.str.331, i64 7 }, { ptr, i64 } { ptr @tn.str.332, i64 6 }, { ptr, i64 } { ptr @tn.str.333, i64 10 }, { ptr, i64 } { ptr @tn.str.334, i64 7 }, { ptr, i64 } { ptr @tn.str.335, i64 11 }, { ptr, i64 } { ptr @tn.str.336, i64 8 }, { ptr, i64 } { ptr @tn.str.337, i64 5 }, { ptr, i64 } { ptr @tn.str.338, i64 4 }, { ptr, i64 } { ptr @tn.str.339, i64 16 }, { ptr, i64 } { ptr @tn.str.340, i64 5 }, { ptr, i64 } { ptr @tn.str.341, i64 15 }, { ptr, i64 } { ptr @tn.str.342, i64 7 }, { ptr, i64 } { ptr @tn.str.343, i64 7 }, { ptr, i64 } { ptr @tn.str.344, i64 6 }, { ptr, i64 } { ptr @tn.str.345, i64 7 }, { ptr, i64 } { ptr @tn.str.346, i64 8 }, { ptr, i64 } { ptr @tn.str.347, i64 8 }, { ptr, i64 } { ptr @tn.str.348, i64 4 }, { ptr, i64 } { ptr @tn.str.349, i64 8 }, { ptr, i64 } { ptr @tn.str.350, i64 10 }, { ptr, i64 } { ptr @tn.str.351, i64 4 }, { ptr, i64 } { ptr @tn.str.352, i64 5 }, { ptr, i64 } { ptr @tn.str.353, i64 5 }, { ptr, i64 } { ptr @tn.str.354, i64 13 }, { ptr, i64 } { ptr @tn.str.355, i64 9 }, { ptr, i64 } { ptr @tn.str.356, i64 9 }, { ptr, i64 } { ptr @tn.str.357, i64 28 }, { ptr, i64 } { ptr @tn.str.358, i64 10 }, { ptr, i64 } { ptr @tn.str.359, i64 10 }, { ptr, i64 } { ptr @tn.str.360, i64 7 }, { ptr, i64 } { ptr @tn.str.361, i64 6 }, { ptr, i64 } { ptr @tn.str.362, i64 17 }, { ptr, i64 } { ptr @tn.str.363, i64 7 }, { ptr, i64 } { ptr @tn.str.364, i64 6 }, { ptr, i64 } { ptr @tn.str.365, i64 16 }, { ptr, i64 } { ptr @tn.str.366, i64 6 }, { ptr, i64 } { ptr @tn.str.367, i64 8 }, { ptr, i64 } { ptr @tn.str.368, i64 9 }, { ptr, i64 } { ptr @tn.str.369, i64 7 }, { ptr, i64 } { ptr @tn.str.370, i64 8 }, { ptr, i64 } { ptr @tn.str.371, i64 9 }, { ptr, i64 } { ptr @tn.str.372, i64 6 }, { ptr, i64 } { ptr @tn.str.373, i64 4 }, { ptr, i64 } { ptr @tn.str.374, i64 5 }, { ptr, i64 } { ptr @tn.str.375, i64 6 }, { ptr, i64 } { ptr @tn.str.376, i64 19 }, { ptr, i64 } { ptr @tn.str.377, i64 7 }, { ptr, i64 } { ptr @tn.str.378, i64 7 }, { ptr, i64 } { ptr @tn.str.379, i64 8 }, { ptr, i64 } { ptr @tn.str.380, i64 11 }, { ptr, i64 } { ptr @tn.str.381, i64 8 }, { ptr, i64 } { ptr @tn.str.382, i64 18 }, { ptr, i64 } { ptr @tn.str.383, i64 7 }, { ptr, i64 } { ptr @tn.str.384, i64 8 }, { ptr, i64 } { ptr @tn.str.385, i64 9 }, { ptr, i64 } { ptr @tn.str.386, i64 5 }, { ptr, i64 } { ptr @tn.str.387, i64 6 }, { ptr, i64 } { ptr @tn.str.388, i64 12 }, { ptr, i64 } { ptr @tn.str.389, i64 13 }, { ptr, i64 } { ptr @tn.str.390, i64 10 }, { ptr, i64 } { ptr @tn.str.391, i64 10 }, { ptr, i64 } { ptr @tn.str.392, i64 7 }, { ptr, i64 } { ptr @tn.str.393, i64 10 }, { ptr, i64 } { ptr @tn.str.394, i64 4 }, { ptr, i64 } { ptr @tn.str.395, i64 8 }, { ptr, i64 } { ptr @tn.str.396, i64 7 }, { ptr, i64 } { ptr @tn.str.397, i64 5 }, { ptr, i64 } { ptr @tn.str.398, i64 4 }, { ptr, i64 } { ptr @tn.str.399, i64 6 }, { ptr, i64 } { ptr @tn.str.400, i64 7 }, { ptr, i64 } { ptr @tn.str.401, i64 6 }, { ptr, i64 } { ptr @tn.str.402, i64 3 }, { ptr, i64 } { ptr @tn.str.403, i64 5 }, { ptr, i64 } { ptr @tn.str.404, i64 13 }, { ptr, i64 } { ptr @tn.str.405, i64 13 }, { ptr, i64 } { ptr @tn.str.406, i64 14 }, { ptr, i64 } { ptr @tn.str.407, i64 10 }, { ptr, i64 } { ptr @tn.str.408, i64 10 }, { ptr, i64 } { ptr @tn.str.409, i64 14 }, { ptr, i64 } { ptr @tn.str.410, i64 9 }, { ptr, i64 } { ptr @tn.str.411, i64 9 }, { ptr, i64 } { ptr @tn.str.412, i64 10 }, { ptr, i64 } { ptr @tn.str.413, i64 9 }, { ptr, i64 } { ptr @tn.str.414, i64 8 }, { ptr, i64 } { ptr @tn.str.415, i64 6 }, { ptr, i64 } { ptr @tn.str.416, i64 6 }, { ptr, i64 } { ptr @tn.str.417, i64 6 }, { ptr, i64 } { ptr @tn.str.418, i64 7 }, { ptr, i64 } { ptr @tn.str.419, i64 6 }, { ptr, i64 } { ptr @tn.str.420, i64 7 }, { ptr, i64 } { ptr @tn.str.421, i64 6 }, { ptr, i64 } { ptr @tn.str.422, i64 7 }, { ptr, i64 } { ptr @tn.str.423, i64 5 }, { ptr, i64 } { ptr @tn.str.424, i64 7 }, { ptr, i64 } { ptr @tn.str.425, i64 4 }, { ptr, i64 } { ptr @tn.str.426, i64 16 }, { ptr, i64 } { ptr @tn.str.427, i64 3 }, { ptr, i64 } { ptr @tn.str.428, i64 8 }, { ptr, i64 } { ptr @tn.str.429, i64 11 }, { ptr, i64 } { ptr @tn.str.430, i64 7 }, { ptr, i64 } { ptr @tn.str.431, i64 9 }, { ptr, i64 } { ptr @tn.str.432, i64 8 }, { ptr, i64 } { ptr @tn.str.433, i64 10 }, { ptr, i64 } { ptr @tn.str.434, i64 6 }, { ptr, i64 } { ptr @tn.str.435, i64 7 }, { ptr, i64 } { ptr @tn.str.436, i64 5 }, { ptr, i64 } { ptr @tn.str.437, i64 9 }, { ptr, i64 } { ptr @tn.str.438, i64 11 }, { ptr, i64 } { ptr @tn.str.439, i64 11 }, { ptr, i64 } { ptr @tn.str.440, i64 9 }, { ptr, i64 } { ptr @tn.str.441, i64 10 }, { ptr, i64 } { ptr @tn.str.442, i64 9 }, { ptr, i64 } { ptr @tn.str.443, i64 12 }, { ptr, i64 } { ptr @tn.str.444, i64 9 }, { ptr, i64 } { ptr @tn.str.445, i64 9 }, { ptr, i64 } { ptr @tn.str.446, i64 6 }, { ptr, i64 } { ptr @tn.str.447, i64 16 }, { ptr, i64 } { ptr @tn.str.448, i64 13 }, { ptr, i64 } { ptr @tn.str.449, i64 5 }, { ptr, i64 } { ptr @tn.str.450, i64 6 }, { ptr, i64 } { ptr @tn.str.451, i64 6 }, { ptr, i64 } { ptr @tn.str.452, i64 11 }, { ptr, i64 } { ptr @tn.str.453, i64 12 }, { ptr, i64 } { ptr @tn.str.454, i64 12 }, { ptr, i64 } { ptr @tn.str.455, i64 5 }, { ptr, i64 } { ptr @tn.str.456, i64 5 }, { ptr, i64 } { ptr @tn.str.457, i64 6 }, { ptr, i64 } { ptr @tn.str.458, i64 6 }, { ptr, i64 } { ptr @tn.str.459, i64 6 }, { ptr, i64 } { ptr @tn.str.460, i64 11 }, { ptr, i64 } { ptr @tn.str.461, i64 10 }, { ptr, i64 } { ptr @tn.str.462, i64 8 }, { ptr, i64 } { ptr @tn.str.463, i64 10 }, { ptr, i64 } { ptr @tn.str.464, i64 5 }, { ptr, i64 } { ptr @tn.str.465, i64 12 }, { ptr, i64 } { ptr @tn.str.466, i64 7 }, { ptr, i64 } { ptr @tn.str.467, i64 10 }, { ptr, i64 } { ptr @tn.str.468, i64 19 }, { ptr, i64 } { ptr @tn.str.469, i64 6 }, { ptr, i64 } { ptr @tn.str.470, i64 5 }, { ptr, i64 } { ptr @tn.str.471, i64 10 }, { ptr, i64 } { ptr @tn.str.472, i64 5 }, { ptr, i64 } { ptr @tn.str.473, i64 9 }, { ptr, i64 } { ptr @tn.str.474, i64 7 }, { ptr, i64 } { ptr @tn.str.475, i64 10 }, { ptr, i64 } { ptr @tn.str.476, i64 8 }, { ptr, i64 } { ptr @tn.str.477, i64 6 }, { ptr, i64 } { ptr @tn.str.478, i64 8 }, { ptr, i64 } { ptr @tn.str.479, i64 5 }, { ptr, i64 } { ptr @tn.str.480, i64 8 }, { ptr, i64 } { ptr @tn.str.481, i64 6 }, { ptr, i64 } { ptr @tn.str.482, i64 8 }, { ptr, i64 } { ptr @tn.str.483, i64 8 }, { ptr, i64 } { ptr @tn.str.484, i64 12 }, { ptr, i64 } { ptr @tn.str.485, i64 6 }, { ptr, i64 } { ptr @tn.str.486, i64 9 }, { ptr, i64 } { ptr @tn.str.487, i64 6 }, { ptr, i64 } { ptr @tn.str.488, i64 14 }, { ptr, i64 } { ptr @tn.str.489, i64 10 }, { ptr, i64 } { ptr @tn.str.490, i64 11 }, { ptr, i64 } { ptr @tn.str.491, i64 8 }, { ptr, i64 } { ptr @tn.str.492, i64 8 }, { ptr, i64 } { ptr @tn.str.493, i64 7 }, { ptr, i64 } { ptr @tn.str.494, i64 7 }, { ptr, i64 } { ptr @tn.str.495, i64 10 }, { ptr, i64 } { ptr @tn.str.496, i64 9 }, { ptr, i64 } { ptr @tn.str.497, i64 7 }, { ptr, i64 } { ptr @tn.str.498, i64 6 }, { ptr, i64 } { ptr @tn.str.499, i64 8 }, { ptr, i64 } { ptr @tn.str.500, i64 12 }, { ptr, i64 } { ptr @tn.str.501, i64 9 }, { ptr, i64 } { ptr @tn.str.502, i64 13 }, { ptr, i64 } { ptr @tn.str.503, i64 14 }, { ptr, i64 } { ptr @tn.str.504, i64 11 }, { ptr, i64 } { ptr @tn.str.505, i64 11 }, { ptr, i64 } { ptr @tn.str.506, i64 8 }, { ptr, i64 } { ptr @tn.str.507, i64 11 }, { ptr, i64 } { ptr @tn.str.508, i64 5 }, { ptr, i64 } { ptr @tn.str.509, i64 9 }, { ptr, i64 } { ptr @tn.str.510, i64 8 }, { ptr, i64 } { ptr @tn.str.511, i64 5 }, { ptr, i64 } { ptr @tn.str.512, i64 8 }, { ptr, i64 } { ptr @tn.str.513, i64 7 }, { ptr, i64 } { ptr @tn.str.514, i64 4 }, { ptr, i64 } { ptr @tn.str.515, i64 6 }, { ptr, i64 } { ptr @tn.str.516, i64 14 }, { ptr, i64 } { ptr @tn.str.517, i64 15 }, { ptr, i64 } { ptr @tn.str.518, i64 11 }, { ptr, i64 } { ptr @tn.str.519, i64 11 }, { ptr, i64 } { ptr @tn.str.520, i64 15 }, { ptr, i64 } { ptr @tn.str.521, i64 10 }, { ptr, i64 } { ptr @tn.str.522, i64 11 }, { ptr, i64 } { ptr @tn.str.523, i64 10 }, { ptr, i64 } { ptr @tn.str.524, i64 9 }, { ptr, i64 } { ptr @tn.str.525, i64 7 }, { ptr, i64 } { ptr @tn.str.526, i64 7 }, { ptr, i64 } { ptr @tn.str.527, i64 8 }, { ptr, i64 } { ptr @tn.str.528, i64 8 }, { ptr, i64 } { ptr @tn.str.529, i64 8 }, { ptr, i64 } { ptr @tn.str.530, i64 6 }, { ptr, i64 } { ptr @tn.str.531, i64 6 }, { ptr, i64 } { ptr @tn.str.532, i64 8 }, { ptr, i64 } { ptr @tn.str.533, i64 15 }, { ptr, i64 } { ptr @tn.str.534, i64 8 }]
@str.535 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.536 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.537 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.538 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.539 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.540 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.541 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
@str.542 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
@str.543 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.544 = private unnamed_addr constant [5 x i8] c")); \00", align 1
@str.545 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
@str.546 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
@str.547 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
@str.548 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.549 = private unnamed_addr constant [5 x i8] c")); \00", align 1
@str.550 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
@str.551 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.552 = private unnamed_addr constant [5 x i8] c")); \00", align 1
@str.553 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
@str.554 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.555 = private unnamed_addr constant [5 x i8] c")); \00", align 1
@str.556 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.557 = private unnamed_addr constant [2 x i8] c"r\00", align 1
@str.558 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.559 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.560 = private unnamed_addr constant [12 x i8] c"command -v \00", align 1
@str.561 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.562 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.563 = private unnamed_addr constant [6 x i8] c"&amp;\00", align 1
@str.564 = private unnamed_addr constant [5 x i8] c"&lt;\00", align 1
@str.565 = private unnamed_addr constant [5 x i8] c"&gt;\00", align 1
@str.566 = private unnamed_addr constant [7 x i8] c"&quot;\00", align 1
@str.567 = private unnamed_addr constant [7 x i8] c"&apos;\00", align 1
@str.568 = private unnamed_addr constant [26 x i8] c"/embedded.mobileprovision\00", align 1
@str.569 = private unnamed_addr constant [50 x i8] c"error: bundle: cannot read provisioning profile: \00", align 1
@str.570 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@str.571 = private unnamed_addr constant [57 x i8] c"error: bundle: failed to write embedded.mobileprovision\0A\00", align 1
@str.572 = private unnamed_addr constant [2 x i8] c"/\00", align 1
@str.573 = private unnamed_addr constant [42 x i8] c"error: bundle: cannot create asset dest '\00", align 1
@str.574 = private unnamed_addr constant [3 x i8] c"'\0A\00", align 1
@str.575 = private unnamed_addr constant [8 x i8] c"cp -R \22\00", align 1
@str.576 = private unnamed_addr constant [6 x i8] c"/.\22 \22\00", align 1
@str.577 = private unnamed_addr constant [7 x i8] c"\22 2>&1\00", align 1
@str.578 = private unnamed_addr constant [27 x i8] c"error: cp -R spawn failed\0A\00", align 1
@str.579 = private unnamed_addr constant [22 x i8] c"error: cp -R failed:\0A\00", align 1
@str.580 = private unnamed_addr constant [8 x i8] c".sx-tmp\00", align 1
@str.581 = private unnamed_addr constant [22 x i8] c".sx-tmp/profile.plist\00", align 1
@str.582 = private unnamed_addr constant [27 x i8] c".sx-tmp/entitlements.plist\00", align 1
@str.583 = private unnamed_addr constant [21 x i8] c"security cms -D -i \22\00", align 1
@str.584 = private unnamed_addr constant [7 x i8] c"\22 -o \22\00", align 1
@str.585 = private unnamed_addr constant [7 x i8] c"\22 2>&1\00", align 1
@str.586 = private unnamed_addr constant [34 x i8] c"error: security cms spawn failed\0A\00", align 1
@str.587 = private unnamed_addr constant [39 x i8] c"plutil -extract Entitlements xml1 -o \22\00", align 1
@str.588 = private unnamed_addr constant [4 x i8] c"\22 \22\00", align 1
@str.589 = private unnamed_addr constant [7 x i8] c"\22 2>&1\00", align 1
@str.590 = private unnamed_addr constant [47 x i8] c"error: failed to decode provisioning profile:\0A\00", align 1
@str.591 = private unnamed_addr constant [36 x i8] c"error: plutil extract spawn failed\0A\00", align 1
@str.592 = private unnamed_addr constant [57 x i8] c"plutil -extract ApplicationIdentifierPrefix.0 raw -o - \22\00", align 1
@str.593 = private unnamed_addr constant [2 x i8] c"\22\00", align 1
@str.594 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.595 = private unnamed_addr constant [40 x i8] c"error: failed to extract entitlements:\0A\00", align 1
@str.596 = private unnamed_addr constant [56 x i8] c"error: plutil ApplicationIdentifierPrefix spawn failed\0A\00", align 1
@str.597 = private unnamed_addr constant [53 x i8] c"error: profile missing ApplicationIdentifierPrefix:\0A\00", align 1
@str.598 = private unnamed_addr constant [67 x i8] c"error: provisioning profile has empty ApplicationIdentifierPrefix\0A\00", align 1
@str.599 = private unnamed_addr constant [2 x i8] c".\00", align 1
@str.600 = private unnamed_addr constant [49 x i8] c"plutil -replace application-identifier -string \22\00", align 1
@str.601 = private unnamed_addr constant [4 x i8] c"\22 \22\00", align 1
@str.602 = private unnamed_addr constant [7 x i8] c"\22 2>&1\00", align 1
@str.603 = private unnamed_addr constant [36 x i8] c"error: plutil replace spawn failed\0A\00", align 1
@str.604 = private unnamed_addr constant [50 x i8] c"error: failed to resolve application-identifier:\0A\00", align 1
@str.605 = private unnamed_addr constant [26 x i8] c"codesign --force --sign \22\00", align 1
@str.606 = private unnamed_addr constant [19 x i8] c"\22 --timestamp=none\00", align 1
@str.607 = private unnamed_addr constant [18 x i8] c" --entitlements \22\00", align 1
@str.608 = private unnamed_addr constant [2 x i8] c"\22\00", align 1
@str.609 = private unnamed_addr constant [3 x i8] c" \22\00", align 1
@str.610 = private unnamed_addr constant [7 x i8] c"\22 2>&1\00", align 1
@str.611 = private unnamed_addr constant [30 x i8] c"error: codesign spawn failed\0A\00", align 1
@str.612 = private unnamed_addr constant [25 x i8] c"error: codesign failed:\0A\00", align 1
@str.613 = private unnamed_addr constant [4 x i8] c"pwd\00", align 1
@str.614 = private unnamed_addr constant [5 x i8] c"cd \22\00", align 1
@str.615 = private unnamed_addr constant [6 x i8] c"\22 && \00", align 1
@str.616 = private unnamed_addr constant [6 x i8] c" 2>&1\00", align 1
@str.617 = private unnamed_addr constant [27 x i8] c"error: shell spawn failed\0A\00", align 1
@str.618 = private unnamed_addr constant [8 x i8] c"error: \00", align 1
@str.619 = private unnamed_addr constant [10 x i8] c" failed:\0A\00", align 1
@str.620 = private unnamed_addr constant [13 x i8] c"ANDROID_HOME\00", align 1
@str.621 = private unnamed_addr constant [17 x i8] c"ANDROID_SDK_ROOT\00", align 1
@str.622 = private unnamed_addr constant [5 x i8] c"HOME\00", align 1
@str.623 = private unnamed_addr constant [20 x i8] c"Library/Android/sdk\00", align 1
@str.624 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.625 = private unnamed_addr constant [8 x i8] c"ls -1 \22\00", align 1
@str.626 = private unnamed_addr constant [34 x i8] c"\22 2>/dev/null | sort -V | tail -1\00", align 1
@str.627 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.628 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.629 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.630 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.631 = private unnamed_addr constant [10 x i8] c"JAVA_HOME\00", align 1
@str.632 = private unnamed_addr constant [10 x i8] c"bin/javac\00", align 1
@str.633 = private unnamed_addr constant [6 x i8] c"javac\00", align 1
@str.634 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.635 = private unnamed_addr constant [19 x i8] c".sx-tmp/apk-assets\00", align 1
@str.636 = private unnamed_addr constant [27 x i8] c"rm -rf .sx-tmp/apk-assets/\00", align 1
@str.637 = private unnamed_addr constant [20 x i8] c".sx-tmp/apk-assets/\00", align 1
@str.638 = private unnamed_addr constant [19 x i8] c".sx-tmp/apk-assets\00", align 1
@str.639 = private unnamed_addr constant [43 x i8] c"error: apk: cannot create asset stage dir\0A\00", align 1
@str.640 = private unnamed_addr constant [8 x i8] c"cp -R \22\00", align 1
@str.641 = private unnamed_addr constant [23 x i8] c"\22 \22.sx-tmp/apk-assets/\00", align 1
@str.642 = private unnamed_addr constant [7 x i8] c"\22 2>&1\00", align 1
@str.643 = private unnamed_addr constant [37 x i8] c"error: cp -R asset dir spawn failed\0A\00", align 1
@str.644 = private unnamed_addr constant [32 x i8] c"error: cp -R asset dir failed:\0A\00", align 1
@str.645 = private unnamed_addr constant [12 x i8] c"zip -q -r \22\00", align 1
@str.646 = private unnamed_addr constant [4 x i8] c"\22 \22\00", align 1
@str.647 = private unnamed_addr constant [2 x i8] c"\22\00", align 1
@str.648 = private unnamed_addr constant [19 x i8] c".sx-tmp/apk-assets\00", align 1
@str.649 = private unnamed_addr constant [8 x i8] c"$(pwd)/\00", align 1
@str.650 = private unnamed_addr constant [32 x i8] c"keytool -genkeypair -keystore \22\00", align 1
@str.651 = private unnamed_addr constant [149 x i8] c"\22 -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname \22CN=Android Debug,O=Android,C=US\22 2>&1\00", align 1
@str.652 = private unnamed_addr constant [29 x i8] c"error: keytool spawn failed\0A\00", align 1
@str.653 = private unnamed_addr constant [24 x i8] c"error: keytool failed:\0A\00", align 1
@str.654 = private unnamed_addr constant [17 x i8] c"guard armed: {}\0A\00", align 1
@str.655 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.656 = private unnamed_addr constant [17 x i8] c"guard armed: {}\0A\00", align 1
@str.657 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1
@str.658 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.659 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1
@str.660 = private unnamed_addr constant [849 x i8] c"<?xml version=\221.0\22 encoding=\22utf-8\22?>\0A<manifest xmlns:android=\22http://schemas.android.com/apk/res/android\22\0A package=\22{}\22\0A android:versionCode=\221\22\0A android:versionName=\221.0\22>\0A <uses-sdk android:minSdkVersion=\2221\22 android:targetSdkVersion=\2234\22 />\0A <application android:label=\22{}\22 android:hasCode=\22true\22>\0A <activity\0A android:name=\22{}\22\0A android:exported=\22true\22\0A android:label=\22{}\22\0A android:theme=\22@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen\22\0A android:configChanges=\22orientation|keyboardHidden|screenSize\22>\0A <intent-filter>\0A <action android:name=\22android.intent.action.MAIN\22 />\0A <category android:name=\22android.intent.category.LAUNCHER\22 />\0A </intent-filter>\0A </activity>\0A </application>\0A</manifest>\0A\00", align 1
@str.661 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.662 = private unnamed_addr constant [849 x i8] c"<?xml version=\221.0\22 encoding=\22utf-8\22?>\0A<manifest xmlns:android=\22http://schemas.android.com/apk/res/android\22\0A package=\22{}\22\0A android:versionCode=\221\22\0A android:versionName=\221.0\22>\0A <uses-sdk android:minSdkVersion=\2221\22 android:targetSdkVersion=\2234\22 />\0A <application android:label=\22{}\22 android:hasCode=\22true\22>\0A <activity\0A android:name=\22{}\22\0A android:exported=\22true\22\0A android:label=\22{}\22\0A android:theme=\22@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen\22\0A android:configChanges=\22orientation|keyboardHidden|screenSize\22>\0A <intent-filter>\0A <action android:name=\22android.intent.action.MAIN\22 />\0A <category android:name=\22android.intent.category.LAUNCHER\22 />\0A </intent-filter>\0A </activity>\0A </application>\0A</manifest>\0A\00", align 1
@str.663 = private unnamed_addr constant [869 x i8] c"<?xml version=\221.0\22 encoding=\22utf-8\22?>\0A<manifest xmlns:android=\22http://schemas.android.com/apk/res/android\22\0A package=\22{}\22\0A android:versionCode=\221\22\0A android:versionName=\221.0\22>\0A <uses-sdk android:minSdkVersion=\2221\22 android:targetSdkVersion=\2234\22 />\0A <application android:label=\22{}\22 android:hasCode=\22false\22>\0A <activity\0A android:name=\22android.app.NativeActivity\22\0A android:exported=\22true\22\0A android:label=\22{}\22\0A android:configChanges=\22orientation|keyboardHidden|screenSize\22>\0A <meta-data android:name=\22android.app.lib_name\22 android:value=\22{}\22 />\0A <intent-filter>\0A <action android:name=\22android.intent.action.MAIN\22 />\0A <category android:name=\22android.intent.category.LAUNCHER\22 />\0A </intent-filter>\0A </activity>\0A </application>\0A</manifest>\0A\00", align 1
@str.664 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.665 = private unnamed_addr constant [869 x i8] c"<?xml version=\221.0\22 encoding=\22utf-8\22?>\0A<manifest xmlns:android=\22http://schemas.android.com/apk/res/android\22\0A package=\22{}\22\0A android:versionCode=\221\22\0A android:versionName=\221.0\22>\0A <uses-sdk android:minSdkVersion=\2221\22 android:targetSdkVersion=\2234\22 />\0A <application android:label=\22{}\22 android:hasCode=\22false\22>\0A <activity\0A android:name=\22android.app.NativeActivity\22\0A android:exported=\22true\22\0A android:label=\22{}\22\0A android:configChanges=\22orientation|keyboardHidden|screenSize\22>\0A <meta-data android:name=\22android.app.lib_name\22 android:value=\22{}\22 />\0A <intent-filter>\0A <action android:name=\22android.intent.action.MAIN\22 />\0A <category android:name=\22android.intent.category.LAUNCHER\22 />\0A </intent-filter>\0A </activity>\0A </application>\0A</manifest>\0A\00", align 1
@str.666 = private unnamed_addr constant [1401 x i8] c"<?xml version=\221.0\22 encoding=\22UTF-8\22?>\0A<!DOCTYPE plist PUBLIC \22-//Apple//DTD PLIST 1.0//EN\22 \22http://www.apple.com/DTDs/PropertyList-1.0.dtd\22>\0A<plist version=\221.0\22>\0A<dict>\0A <key>CFBundleIdentifier</key>\0A <string>{}</string>\0A <key>CFBundleName</key>\0A <string>{}</string>\0A <key>CFBundleExecutable</key>\0A <string>{}</string>\0A <key>CFBundlePackageType</key>\0A <string>APPL</string>\0A <key>CFBundleVersion</key>\0A <string>1</string>\0A <key>CFBundleShortVersionString</key>\0A <string>0.1</string>\0A <key>MinimumOSVersion</key>\0A <string>{}</string>\0A <key>UIDeviceFamily</key>\0A <array>\0A <integer>1</integer>\0A </array>\0A <key>LSRequiresIPhoneOS</key>\0A <true/>\0A <key>UILaunchScreen</key>\0A <dict/>\0A <key>UIApplicationSceneManifest</key>\0A <dict>\0A <key>UIApplicationSupportsMultipleScenes</key>\0A <false/>\0A <key>UISceneConfigurations</key>\0A <dict>\0A <key>UIWindowSceneSessionRoleApplication</key>\0A <array>\0A <dict>\0A <key>UISceneConfigurationName</key>\0A <string>Default Configuration</string>\0A <key>UISceneDelegateClassName</key>\0A <string>SxSceneDelegate</string>\0A </dict>\0A </array>\0A </dict>\0A </dict>\0A <key>DTPlatformName</key>\0A <string>{}</string>\0A</dict>\0A</plist>\0A\00", align 1
@str.667 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.668 = private unnamed_addr constant [1401 x i8] c"<?xml version=\221.0\22 encoding=\22UTF-8\22?>\0A<!DOCTYPE plist PUBLIC \22-//Apple//DTD PLIST 1.0//EN\22 \22http://www.apple.com/DTDs/PropertyList-1.0.dtd\22>\0A<plist version=\221.0\22>\0A<dict>\0A <key>CFBundleIdentifier</key>\0A <string>{}</string>\0A <key>CFBundleName</key>\0A <string>{}</string>\0A <key>CFBundleExecutable</key>\0A <string>{}</string>\0A <key>CFBundlePackageType</key>\0A <string>APPL</string>\0A <key>CFBundleVersion</key>\0A <string>1</string>\0A <key>CFBundleShortVersionString</key>\0A <string>0.1</string>\0A <key>MinimumOSVersion</key>\0A <string>{}</string>\0A <key>UIDeviceFamily</key>\0A <array>\0A <integer>1</integer>\0A </array>\0A <key>LSRequiresIPhoneOS</key>\0A <true/>\0A <key>UILaunchScreen</key>\0A <dict/>\0A <key>UIApplicationSceneManifest</key>\0A <dict>\0A <key>UIApplicationSupportsMultipleScenes</key>\0A <false/>\0A <key>UISceneConfigurations</key>\0A <dict>\0A <key>UIWindowSceneSessionRoleApplication</key>\0A <array>\0A <dict>\0A <key>UISceneConfigurationName</key>\0A <string>Default Configuration</string>\0A <key>UISceneDelegateClassName</key>\0A <string>SxSceneDelegate</string>\0A </dict>\0A </array>\0A </dict>\0A </dict>\0A <key>DTPlatformName</key>\0A <string>{}</string>\0A</dict>\0A</plist>\0A\00", align 1
@str.669 = private unnamed_addr constant [539 x i8] c"<?xml version=\221.0\22 encoding=\22UTF-8\22?>\0A<!DOCTYPE plist PUBLIC \22-//Apple//DTD PLIST 1.0//EN\22 \22http://www.apple.com/DTDs/PropertyList-1.0.dtd\22>\0A<plist version=\221.0\22>\0A<dict>\0A <key>CFBundleIdentifier</key>\0A <string>{}</string>\0A <key>CFBundleName</key>\0A <string>{}</string>\0A <key>CFBundleExecutable</key>\0A <string>{}</string>\0A <key>CFBundlePackageType</key>\0A <string>APPL</string>\0A <key>CFBundleVersion</key>\0A <string>1</string>\0A <key>CFBundleShortVersionString</key>\0A <string>0.1</string>\0A</dict>\0A</plist>\0A\00", align 1
@str.670 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@str.671 = private unnamed_addr constant [539 x i8] c"<?xml version=\221.0\22 encoding=\22UTF-8\22?>\0A<!DOCTYPE plist PUBLIC \22-//Apple//DTD PLIST 1.0//EN\22 \22http://www.apple.com/DTDs/PropertyList-1.0.dtd\22>\0A<plist version=\221.0\22>\0A<dict>\0A <key>CFBundleIdentifier</key>\0A <string>{}</string>\0A <key>CFBundleName</key>\0A <string>{}</string>\0A <key>CFBundleExecutable</key>\0A <string>{}</string>\0A <key>CFBundlePackageType</key>\0A <string>APPL</string>\0A <key>CFBundleVersion</key>\0A <string>1</string>\0A <key>CFBundleShortVersionString</key>\0A <string>0.1</string>\0A</dict>\0A</plist>\0A\00", align 1
@str.672 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1
@str.673 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.674 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.675 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str = private constant [5 x i8] c"file\00"
@fld.str.676 = private constant [5 x i8] c"line\00"
@fld.str.677 = private constant [4 x i8] c"col\00"
@fld.str.678 = private constant [5 x i8] c"func\00"
@field_names = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str, i64 4 }, { ptr, i64 } { ptr @fld.str.676, i64 4 }, { ptr, i64 } { ptr @fld.str.677, i64 3 }, { ptr, i64 } { ptr @fld.str.678, i64 4 }]
@str.679 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.680 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1
@str.681 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.682 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.683 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.684 = private constant [4 x i8] c"ctx\00"
@fld.str.685 = private constant [12 x i8] c"alloc_bytes\00"
@fld.str.686 = private constant [14 x i8] c"dealloc_bytes\00"
@field_names.687 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.684, i64 3 }, { ptr, i64 } { ptr @fld.str.685, i64 11 }, { ptr, i64 } { ptr @fld.str.686, i64 13 }]
@str.688 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.689 = private unnamed_addr constant [10 x i8] c"SpawnOpts\00", align 1
@str.690 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.691 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.692 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.693 = private constant [4 x i8] c"pin\00"
@field_names.694 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.693, i64 3 }]
@str.695 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.696 = private unnamed_addr constant [10 x i8] c"ParkToken\00", align 1
@str.697 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.698 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.699 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.700 = private constant [7 x i8] c"handle\00"
@field_names.701 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.700, i64 6 }]
@str.702 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.703 = private unnamed_addr constant [3 x i8] c"Io\00", align 1
@str.704 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.705 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.706 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.707 = private constant [4 x i8] c"ctx\00"
@fld.str.708 = private constant [10 x i8] c"spawn_raw\00"
@fld.str.709 = private constant [12 x i8] c"suspend_raw\00"
@fld.str.710 = private constant [6 x i8] c"ready\00"
@fld.str.711 = private constant [5 x i8] c"poll\00"
@fld.str.712 = private constant [7 x i8] c"now_ms\00"
@fld.str.713 = private constant [10 x i8] c"arm_timer\00"
@field_names.714 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.707, i64 3 }, { ptr, i64 } { ptr @fld.str.708, i64 9 }, { ptr, i64 } { ptr @fld.str.709, i64 11 }, { ptr, i64 } { ptr @fld.str.710, i64 5 }, { ptr, i64 } { ptr @fld.str.711, i64 4 }, { ptr, i64 } { ptr @fld.str.712, i64 6 }, { ptr, i64 } { ptr @fld.str.713, i64 9 }]
@str.715 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.716 = private unnamed_addr constant [8 x i8] c"Context\00", align 1
@str.717 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.718 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.719 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.720 = private constant [10 x i8] c"allocator\00"
@fld.str.721 = private constant [5 x i8] c"data\00"
@fld.str.722 = private constant [3 x i8] c"io\00"
@field_names.723 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.720, i64 9 }, { ptr, i64 } { ptr @fld.str.721, i64 4 }, { ptr, i64 } { ptr @fld.str.722, i64 2 }]
@str.724 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.725 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1
@str.726 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.727 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.728 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.729 = private constant [4 x i8] c"sec\00"
@fld.str.730 = private constant [5 x i8] c"nsec\00"
@field_names.731 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.729, i64 3 }, { ptr, i64 } { ptr @fld.str.730, i64 4 }]
@str.732 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.733 = private unnamed_addr constant [12 x i8] c"CBlockingIo\00", align 1
@str.734 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.735 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.736 = private unnamed_addr constant [3 x i8] c", \00", align 1
@field_names.737 = private constant [0 x { ptr, i64 }] zeroinitializer
@str.738 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.739 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1
@str.740 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.741 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.742 = private unnamed_addr constant [3 x i8] c", \00", align 1
@field_names.743 = private constant [0 x { ptr, i64 }] zeroinitializer
@str.744 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.745 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1
@str.746 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.747 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.748 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.749 = private constant [12 x i8] c"alloc_count\00"
@field_names.750 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.749, i64 11 }]
@str.751 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.752 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1
@str.753 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.754 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.755 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.756 = private constant [5 x i8] c"next\00"
@fld.str.757 = private constant [4 x i8] c"cap\00"
@field_names.758 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.756, i64 4 }, { ptr, i64 } { ptr @fld.str.757, i64 3 }]
@str.759 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.760 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1
@str.761 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.762 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.763 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.764 = private constant [6 x i8] c"first\00"
@fld.str.765 = private constant [10 x i8] c"end_index\00"
@fld.str.766 = private constant [7 x i8] c"parent\00"
@field_names.767 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.764, i64 5 }, { ptr, i64 } { ptr @fld.str.765, i64 9 }, { ptr, i64 } { ptr @fld.str.766, i64 6 }]
@str.768 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.769 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1
@str.770 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.771 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.772 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.773 = private constant [4 x i8] c"buf\00"
@fld.str.774 = private constant [4 x i8] c"len\00"
@fld.str.775 = private constant [4 x i8] c"pos\00"
@field_names.776 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.773, i64 3 }, { ptr, i64 } { ptr @fld.str.774, i64 3 }, { ptr, i64 } { ptr @fld.str.775, i64 3 }]
@str.777 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.778 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1
@str.779 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.780 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.781 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.782 = private constant [7 x i8] c"parent\00"
@fld.str.783 = private constant [12 x i8] c"alloc_count\00"
@fld.str.784 = private constant [14 x i8] c"dealloc_count\00"
@fld.str.785 = private constant [18 x i8] c"total_alloc_bytes\00"
@field_names.786 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.782, i64 6 }, { ptr, i64 } { ptr @fld.str.783, i64 11 }, { ptr, i64 } { ptr @fld.str.784, i64 13 }, { ptr, i64 } { ptr @fld.str.785, i64 17 }]
@str.787 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.788 = private unnamed_addr constant [5 x i8] c"File\00", align 1
@str.789 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.790 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.791 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.792 = private constant [3 x i8] c"fd\00"
@field_names.793 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.792, i64 2 }]
@str.794 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.795 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1
@str.796 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.797 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.798 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.799 = private constant [5 x i8] c"file\00"
@fld.str.800 = private constant [5 x i8] c"line\00"
@fld.str.801 = private constant [4 x i8] c"col\00"
@fld.str.802 = private constant [5 x i8] c"func\00"
@fld.str.803 = private constant [10 x i8] c"line_text\00"
@field_names.804 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.799, i64 4 }, { ptr, i64 } { ptr @fld.str.800, i64 4 }, { ptr, i64 } { ptr @fld.str.801, i64 3 }, { ptr, i64 } { ptr @fld.str.802, i64 4 }, { ptr, i64 } { ptr @fld.str.803, i64 9 }]
@str.805 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.806 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1
@str.807 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.808 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.809 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.810 = private constant [10 x i8] c"exit_code\00"
@fld.str.811 = private constant [7 x i8] c"stdout\00"
@field_names.812 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.810, i64 9 }, { ptr, i64 } { ptr @fld.str.811, i64 6 }]
@str.813 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.814 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1
@str.815 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.816 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.817 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.818 = private constant [8 x i8] c"sin_len\00"
@fld.str.819 = private constant [11 x i8] c"sin_family\00"
@fld.str.820 = private constant [9 x i8] c"sin_port\00"
@fld.str.821 = private constant [9 x i8] c"sin_addr\00"
@fld.str.822 = private constant [9 x i8] c"sin_zero\00"
@field_names.823 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.818, i64 7 }, { ptr, i64 } { ptr @fld.str.819, i64 10 }, { ptr, i64 } { ptr @fld.str.820, i64 8 }, { ptr, i64 } { ptr @fld.str.821, i64 8 }, { ptr, i64 } { ptr @fld.str.822, i64 8 }]
@str.824 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.825 = private unnamed_addr constant [6 x i8] c"Array\00", align 1
@str.826 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.827 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.828 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.829 = private constant [6 x i8] c"items\00"
@fld.str.830 = private constant [4 x i8] c"len\00"
@fld.str.831 = private constant [4 x i8] c"cap\00"
@field_names.832 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.829, i64 5 }, { ptr, i64 } { ptr @fld.str.830, i64 3 }, { ptr, i64 } { ptr @fld.str.831, i64 3 }]
@str.833 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.834 = private unnamed_addr constant [7 x i8] c"Object\00", align 1
@str.835 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.836 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.837 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.838 = private constant [6 x i8] c"items\00"
@fld.str.839 = private constant [4 x i8] c"len\00"
@fld.str.840 = private constant [4 x i8] c"cap\00"
@field_names.841 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.838, i64 5 }, { ptr, i64 } { ptr @fld.str.839, i64 3 }, { ptr, i64 } { ptr @fld.str.840, i64 3 }]
@str.842 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.843 = private unnamed_addr constant [7 x i8] c"Member\00", align 1
@str.844 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.845 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.846 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.847 = private constant [4 x i8] c"key\00"
@fld.str.848 = private constant [4 x i8] c"val\00"
@field_names.849 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.847, i64 3 }, { ptr, i64 } { ptr @fld.str.848, i64 3 }]
@str.850 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.851 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1
@str.852 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.853 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.854 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.855 = private constant [4 x i8] c"dst\00"
@fld.str.856 = private constant [4 x i8] c"pos\00"
@fld.str.857 = private constant [5 x i8] c"file\00"
@field_names.858 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.855, i64 3 }, { ptr, i64 } { ptr @fld.str.856, i64 3 }, { ptr, i64 } { ptr @fld.str.857, i64 4 }]
@str.859 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.860 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1
@str.861 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.862 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.863 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.864 = private constant [4 x i8] c"src\00"
@fld.str.865 = private constant [4 x i8] c"pos\00"
@fld.str.866 = private constant [6 x i8] c"alloc\00"
@field_names.867 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.864, i64 3 }, { ptr, i64 } { ptr @fld.str.865, i64 3 }, { ptr, i64 } { ptr @fld.str.866, i64 5 }]
@str.868 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.869 = private unnamed_addr constant [13 x i8] c"List__string\00", align 1
@str.870 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.871 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.872 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.873 = private constant [6 x i8] c"items\00"
@fld.str.874 = private constant [4 x i8] c"len\00"
@fld.str.875 = private constant [4 x i8] c"cap\00"
@field_names.876 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.873, i64 5 }, { ptr, i64 } { ptr @fld.str.874, i64 3 }, { ptr, i64 } { ptr @fld.str.875, i64 3 }]
@str.877 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.878 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1
@str.879 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.880 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.881 = private unnamed_addr constant [3 x i8] c", \00", align 1
@field_names.882 = private constant [0 x { ptr, i64 }] zeroinitializer
@str.883 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.884 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1
@str.885 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.886 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.887 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.888 = private constant [5 x i8] c"name\00"
@fld.str.889 = private constant [12 x i8] c"takes_value\00"
@fld.str.890 = private constant [9 x i8] c"required\00"
@field_names.891 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.888, i64 4 }, { ptr, i64 } { ptr @fld.str.889, i64 11 }, { ptr, i64 } { ptr @fld.str.890, i64 8 }]
@str.892 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.893 = private unnamed_addr constant [8 x i8] c"Command\00", align 1
@str.894 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.895 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.896 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.897 = private constant [6 x i8] c"group\00"
@fld.str.898 = private constant [8 x i8] c"command\00"
@fld.str.899 = private constant [6 x i8] c"flags\00"
@field_names.900 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.897, i64 5 }, { ptr, i64 } { ptr @fld.str.898, i64 7 }, { ptr, i64 } { ptr @fld.str.899, i64 5 }]
@str.901 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.902 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1
@str.903 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.904 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.905 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.906 = private constant [4 x i8] c"set\00"
@fld.str.907 = private constant [6 x i8] c"value\00"
@field_names.908 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.906, i64 3 }, { ptr, i64 } { ptr @fld.str.907, i64 5 }]
@str.909 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.910 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1
@str.911 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.912 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.913 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.914 = private constant [6 x i8] c"index\00"
@fld.str.915 = private constant [6 x i8] c"token\00"
@field_names.916 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.914, i64 5 }, { ptr, i64 } { ptr @fld.str.915, i64 5 }]
@str.917 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.918 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1
@str.919 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.920 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.921 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.922 = private constant [6 x i8] c"group\00"
@fld.str.923 = private constant [8 x i8] c"command\00"
@fld.str.924 = private constant [10 x i8] c"cmd_index\00"
@fld.str.925 = private constant [5 x i8] c"json\00"
@fld.str.926 = private constant [5 x i8] c"rest\00"
@fld.str.927 = private constant [5 x i8] c"spec\00"
@fld.str.928 = private constant [7 x i8] c"values\00"
@field_names.929 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.922, i64 5 }, { ptr, i64 } { ptr @fld.str.923, i64 7 }, { ptr, i64 } { ptr @fld.str.924, i64 9 }, { ptr, i64 } { ptr @fld.str.925, i64 4 }, { ptr, i64 } { ptr @fld.str.926, i64 4 }, { ptr, i64 } { ptr @fld.str.927, i64 4 }, { ptr, i64 } { ptr @fld.str.928, i64 6 }]
@str.930 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.931 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1
@str.932 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.933 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.934 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.935 = private constant [2 x i8] c"h\00"
@fld.str.936 = private constant [4 x i8] c"buf\00"
@fld.str.937 = private constant [8 x i8] c"buf_len\00"
@fld.str.938 = private constant [10 x i8] c"total_len\00"
@field_names.939 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.935, i64 1 }, { ptr, i64 } { ptr @fld.str.936, i64 3 }, { ptr, i64 } { ptr @fld.str.937, i64 7 }, { ptr, i64 } { ptr @fld.str.938, i64 9 }]
@str.940 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.941 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1
@str.942 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.943 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.944 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.945 = private constant [6 x i8] c"ident\00"
@fld.str.946 = private constant [7 x i8] c"filter\00"
@fld.str.947 = private constant [6 x i8] c"flags\00"
@fld.str.948 = private constant [7 x i8] c"fflags\00"
@fld.str.949 = private constant [5 x i8] c"data\00"
@fld.str.950 = private constant [6 x i8] c"udata\00"
@field_names.951 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.945, i64 5 }, { ptr, i64 } { ptr @fld.str.946, i64 6 }, { ptr, i64 } { ptr @fld.str.947, i64 5 }, { ptr, i64 } { ptr @fld.str.948, i64 6 }, { ptr, i64 } { ptr @fld.str.949, i64 4 }, { ptr, i64 } { ptr @fld.str.950, i64 5 }]
@str.952 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.953 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1
@str.954 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.955 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.956 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.957 = private constant [4 x i8] c"sec\00"
@fld.str.958 = private constant [5 x i8] c"nsec\00"
@field_names.959 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.957, i64 3 }, { ptr, i64 } { ptr @fld.str.958, i64 4 }]
@str.960 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.961 = private unnamed_addr constant [6 x i8] c"Event\00", align 1
@str.962 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.963 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.964 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.965 = private constant [3 x i8] c"fd\00"
@fld.str.966 = private constant [6 x i8] c"udata\00"
@fld.str.967 = private constant [9 x i8] c"readable\00"
@fld.str.968 = private constant [9 x i8] c"writable\00"
@fld.str.969 = private constant [4 x i8] c"eof\00"
@fld.str.970 = private constant [4 x i8] c"err\00"
@fld.str.971 = private constant [5 x i8] c"user\00"
@fld.str.972 = private constant [7 x i8] c"nbytes\00"
@field_names.973 = private constant [8 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.965, i64 2 }, { ptr, i64 } { ptr @fld.str.966, i64 5 }, { ptr, i64 } { ptr @fld.str.967, i64 8 }, { ptr, i64 } { ptr @fld.str.968, i64 8 }, { ptr, i64 } { ptr @fld.str.969, i64 3 }, { ptr, i64 } { ptr @fld.str.970, i64 3 }, { ptr, i64 } { ptr @fld.str.971, i64 4 }, { ptr, i64 } { ptr @fld.str.972, i64 6 }]
@str.974 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.975 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1
@str.976 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.977 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.978 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.979 = private constant [3 x i8] c"kq\00"
@field_names.980 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.979, i64 2 }]
@str.981 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.982 = private unnamed_addr constant [7 x i8] c"Config\00", align 1
@str.983 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.984 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.985 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.986 = private constant [5 x i8] c"port\00"
@fld.str.987 = private constant [8 x i8] c"backlog\00"
@fld.str.988 = private constant [9 x i8] c"max_conn\00"
@fld.str.989 = private constant [13 x i8] c"read_buf_cap\00"
@fld.str.990 = private constant [19 x i8] c"timeout_request_ms\00"
@fld.str.991 = private constant [21 x i8] c"timeout_keepalive_ms\00"
@fld.str.992 = private constant [14 x i8] c"request_count\00"
@fld.str.993 = private constant [18 x i8] c"thread_pool_count\00"
@fld.str.994 = private constant [20 x i8] c"thread_pool_backlog\00"
@field_names.995 = private constant [9 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.986, i64 4 }, { ptr, i64 } { ptr @fld.str.987, i64 7 }, { ptr, i64 } { ptr @fld.str.988, i64 8 }, { ptr, i64 } { ptr @fld.str.989, i64 12 }, { ptr, i64 } { ptr @fld.str.990, i64 18 }, { ptr, i64 } { ptr @fld.str.991, i64 20 }, { ptr, i64 } { ptr @fld.str.992, i64 13 }, { ptr, i64 } { ptr @fld.str.993, i64 17 }, { ptr, i64 } { ptr @fld.str.994, i64 19 }]
@str.996 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.997 = private unnamed_addr constant [8 x i8] c"Request\00", align 1
@str.998 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.999 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1000 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1001 = private constant [7 x i8] c"method\00"
@fld.str.1002 = private constant [5 x i8] c"path\00"
@fld.str.1003 = private constant [8 x i8] c"version\00"
@fld.str.1004 = private constant [12 x i8] c"headers_raw\00"
@fld.str.1005 = private constant [5 x i8] c"body\00"
@fld.str.1006 = private constant [11 x i8] c"keep_alive\00"
@field_names.1007 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1001, i64 6 }, { ptr, i64 } { ptr @fld.str.1002, i64 4 }, { ptr, i64 } { ptr @fld.str.1003, i64 7 }, { ptr, i64 } { ptr @fld.str.1004, i64 11 }, { ptr, i64 } { ptr @fld.str.1005, i64 4 }, { ptr, i64 } { ptr @fld.str.1006, i64 10 }]
@str.1008 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1009 = private unnamed_addr constant [9 x i8] c"Response\00", align 1
@str.1010 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1011 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1012 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1013 = private constant [7 x i8] c"status\00"
@fld.str.1014 = private constant [13 x i8] c"content_type\00"
@fld.str.1015 = private constant [14 x i8] c"extra_headers\00"
@fld.str.1016 = private constant [5 x i8] c"body\00"
@field_names.1017 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1013, i64 6 }, { ptr, i64 } { ptr @fld.str.1014, i64 12 }, { ptr, i64 } { ptr @fld.str.1015, i64 13 }, { ptr, i64 } { ptr @fld.str.1016, i64 4 }]
@str.1018 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1019 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1
@str.1020 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1021 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1022 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1023 = private constant [3 x i8] c"fd\00"
@fld.str.1024 = private constant [6 x i8] c"state\00"
@fld.str.1025 = private constant [9 x i8] c"read_buf\00"
@fld.str.1026 = private constant [9 x i8] c"read_cap\00"
@fld.str.1027 = private constant [9 x i8] c"read_len\00"
@fld.str.1028 = private constant [8 x i8] c"out_buf\00"
@fld.str.1029 = private constant [8 x i8] c"out_len\00"
@fld.str.1030 = private constant [9 x i8] c"out_sent\00"
@fld.str.1031 = private constant [9 x i8] c"deadline\00"
@fld.str.1032 = private constant [7 x i8] c"served\00"
@fld.str.1033 = private constant [12 x i8] c"close_after\00"
@fld.str.1034 = private constant [12 x i8] c"write_armed\00"
@fld.str.1035 = private constant [4 x i8] c"gen\00"
@field_names.1036 = private constant [13 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1023, i64 2 }, { ptr, i64 } { ptr @fld.str.1024, i64 5 }, { ptr, i64 } { ptr @fld.str.1025, i64 8 }, { ptr, i64 } { ptr @fld.str.1026, i64 8 }, { ptr, i64 } { ptr @fld.str.1027, i64 8 }, { ptr, i64 } { ptr @fld.str.1028, i64 7 }, { ptr, i64 } { ptr @fld.str.1029, i64 7 }, { ptr, i64 } { ptr @fld.str.1030, i64 8 }, { ptr, i64 } { ptr @fld.str.1031, i64 8 }, { ptr, i64 } { ptr @fld.str.1032, i64 6 }, { ptr, i64 } { ptr @fld.str.1033, i64 11 }, { ptr, i64 } { ptr @fld.str.1034, i64 11 }, { ptr, i64 } { ptr @fld.str.1035, i64 3 }]
@str.1037 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1038 = private unnamed_addr constant [9 x i8] c"OutBytes\00", align 1
@str.1039 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1040 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1041 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1042 = private constant [4 x i8] c"buf\00"
@fld.str.1043 = private constant [4 x i8] c"len\00"
@field_names.1044 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1042, i64 3 }, { ptr, i64 } { ptr @fld.str.1043, i64 3 }]
@str.1045 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1046 = private unnamed_addr constant [11 x i8] c"Completion\00", align 1
@str.1047 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1048 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1049 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1050 = private constant [5 x i8] c"slot\00"
@fld.str.1051 = private constant [4 x i8] c"gen\00"
@fld.str.1052 = private constant [4 x i8] c"out\00"
@fld.str.1053 = private constant [12 x i8] c"close_after\00"
@fld.str.1054 = private constant [9 x i8] c"consumed\00"
@field_names.1055 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1050, i64 4 }, { ptr, i64 } { ptr @fld.str.1051, i64 3 }, { ptr, i64 } { ptr @fld.str.1052, i64 3 }, { ptr, i64 } { ptr @fld.str.1053, i64 11 }, { ptr, i64 } { ptr @fld.str.1054, i64 8 }]
@str.1056 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1057 = private unnamed_addr constant [5 x i8] c"Pool\00", align 1
@str.1058 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1059 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1060 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1061 = private constant [3 x i8] c"mu\00"
@fld.str.1062 = private constant [9 x i8] c"nonempty\00"
@fld.str.1063 = private constant [6 x i8] c"tasks\00"
@fld.str.1064 = private constant [4 x i8] c"cap\00"
@fld.str.1065 = private constant [5 x i8] c"head\00"
@fld.str.1066 = private constant [4 x i8] c"len\00"
@fld.str.1067 = private constant [5 x i8] c"stop\00"
@fld.str.1068 = private constant [8 x i8] c"threads\00"
@fld.str.1069 = private constant [6 x i8] c"count\00"
@field_names.1070 = private constant [9 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1061, i64 2 }, { ptr, i64 } { ptr @fld.str.1062, i64 8 }, { ptr, i64 } { ptr @fld.str.1063, i64 5 }, { ptr, i64 } { ptr @fld.str.1064, i64 3 }, { ptr, i64 } { ptr @fld.str.1065, i64 4 }, { ptr, i64 } { ptr @fld.str.1066, i64 3 }, { ptr, i64 } { ptr @fld.str.1067, i64 4 }, { ptr, i64 } { ptr @fld.str.1068, i64 7 }, { ptr, i64 } { ptr @fld.str.1069, i64 5 }]
@str.1071 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1072 = private unnamed_addr constant [6 x i8] c"Mutex\00", align 1
@str.1073 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1074 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1075 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1076 = private constant [4 x i8] c"buf\00"
@field_names.1077 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1076, i64 3 }]
@str.1078 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1079 = private unnamed_addr constant [10 x i8] c"PoolState\00", align 1
@str.1080 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1081 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1082 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1083 = private constant [5 x i8] c"pool\00"
@fld.str.1084 = private constant [3 x i8] c"mu\00"
@fld.str.1085 = private constant [5 x i8] c"done\00"
@fld.str.1086 = private constant [9 x i8] c"done_cap\00"
@fld.str.1087 = private constant [9 x i8] c"done_len\00"
@fld.str.1088 = private constant [10 x i8] c"loop_copy\00"
@field_names.1089 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1083, i64 4 }, { ptr, i64 } { ptr @fld.str.1084, i64 2 }, { ptr, i64 } { ptr @fld.str.1085, i64 4 }, { ptr, i64 } { ptr @fld.str.1086, i64 8 }, { ptr, i64 } { ptr @fld.str.1087, i64 8 }, { ptr, i64 } { ptr @fld.str.1088, i64 9 }]
@str.1090 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1091 = private unnamed_addr constant [11 x i8] c"HandlerJob\00", align 1
@str.1092 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1093 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1094 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1095 = private constant [8 x i8] c"handler\00"
@fld.str.1096 = private constant [8 x i8] c"app_ctx\00"
@fld.str.1097 = private constant [3 x i8] c"ps\00"
@fld.str.1098 = private constant [6 x i8] c"alloc\00"
@fld.str.1099 = private constant [4 x i8] c"req\00"
@fld.str.1100 = private constant [5 x i8] c"slot\00"
@fld.str.1101 = private constant [4 x i8] c"gen\00"
@fld.str.1102 = private constant [5 x i8] c"keep\00"
@fld.str.1103 = private constant [9 x i8] c"consumed\00"
@field_names.1104 = private constant [9 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1095, i64 7 }, { ptr, i64 } { ptr @fld.str.1096, i64 7 }, { ptr, i64 } { ptr @fld.str.1097, i64 2 }, { ptr, i64 } { ptr @fld.str.1098, i64 5 }, { ptr, i64 } { ptr @fld.str.1099, i64 3 }, { ptr, i64 } { ptr @fld.str.1100, i64 4 }, { ptr, i64 } { ptr @fld.str.1101, i64 3 }, { ptr, i64 } { ptr @fld.str.1102, i64 4 }, { ptr, i64 } { ptr @fld.str.1103, i64 8 }]
@str.1105 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1106 = private unnamed_addr constant [7 x i8] c"Server\00", align 1
@str.1107 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1108 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1109 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1110 = private constant [4 x i8] c"cfg\00"
@fld.str.1111 = private constant [5 x i8] c"loop\00"
@fld.str.1112 = private constant [4 x i8] c"lfd\00"
@fld.str.1113 = private constant [6 x i8] c"conns\00"
@fld.str.1114 = private constant [10 x i8] c"own_alloc\00"
@fld.str.1115 = private constant [8 x i8] c"handler\00"
@fld.str.1116 = private constant [4 x i8] c"ctx\00"
@fld.str.1117 = private constant [3 x i8] c"ps\00"
@field_names.1118 = private constant [8 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1110, i64 3 }, { ptr, i64 } { ptr @fld.str.1111, i64 4 }, { ptr, i64 } { ptr @fld.str.1112, i64 3 }, { ptr, i64 } { ptr @fld.str.1113, i64 5 }, { ptr, i64 } { ptr @fld.str.1114, i64 9 }, { ptr, i64 } { ptr @fld.str.1115, i64 7 }, { ptr, i64 } { ptr @fld.str.1116, i64 3 }, { ptr, i64 } { ptr @fld.str.1117, i64 2 }]
@str.1119 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1120 = private unnamed_addr constant [9 x i8] c"MutexBuf\00", align 1
@str.1121 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1122 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1123 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1124 = private constant [4 x i8] c"sig\00"
@fld.str.1125 = private constant [3 x i8] c"o0\00"
@fld.str.1126 = private constant [3 x i8] c"o1\00"
@fld.str.1127 = private constant [3 x i8] c"o2\00"
@fld.str.1128 = private constant [3 x i8] c"o3\00"
@fld.str.1129 = private constant [3 x i8] c"o4\00"
@fld.str.1130 = private constant [3 x i8] c"o5\00"
@fld.str.1131 = private constant [3 x i8] c"o6\00"
@field_names.1132 = private constant [8 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1124, i64 3 }, { ptr, i64 } { ptr @fld.str.1125, i64 2 }, { ptr, i64 } { ptr @fld.str.1126, i64 2 }, { ptr, i64 } { ptr @fld.str.1127, i64 2 }, { ptr, i64 } { ptr @fld.str.1128, i64 2 }, { ptr, i64 } { ptr @fld.str.1129, i64 2 }, { ptr, i64 } { ptr @fld.str.1130, i64 2 }, { ptr, i64 } { ptr @fld.str.1131, i64 2 }]
@str.1133 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1134 = private unnamed_addr constant [8 x i8] c"CondBuf\00", align 1
@str.1135 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1136 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1137 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1138 = private constant [4 x i8] c"sig\00"
@fld.str.1139 = private constant [3 x i8] c"o0\00"
@fld.str.1140 = private constant [3 x i8] c"o1\00"
@fld.str.1141 = private constant [3 x i8] c"o2\00"
@fld.str.1142 = private constant [3 x i8] c"o3\00"
@fld.str.1143 = private constant [3 x i8] c"o4\00"
@field_names.1144 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1138, i64 3 }, { ptr, i64 } { ptr @fld.str.1139, i64 2 }, { ptr, i64 } { ptr @fld.str.1140, i64 2 }, { ptr, i64 } { ptr @fld.str.1141, i64 2 }, { ptr, i64 } { ptr @fld.str.1142, i64 2 }, { ptr, i64 } { ptr @fld.str.1143, i64 2 }]
@str.1145 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1146 = private unnamed_addr constant [5 x i8] c"Cond\00", align 1
@str.1147 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1148 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1149 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1150 = private constant [4 x i8] c"buf\00"
@field_names.1151 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1150, i64 3 }]
@str.1152 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1153 = private unnamed_addr constant [7 x i8] c"Thread\00", align 1
@str.1154 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1155 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1156 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1157 = private constant [7 x i8] c"handle\00"
@field_names.1158 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1157, i64 6 }]
@str.1159 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1160 = private unnamed_addr constant [9 x i8] c"PoolTask\00", align 1
@str.1161 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1162 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1163 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1164 = private constant [2 x i8] c"f\00"
@fld.str.1165 = private constant [4 x i8] c"arg\00"
@field_names.1166 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1164, i64 1 }, { ptr, i64 } { ptr @fld.str.1165, i64 3 }]
@str.1167 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1168 = private unnamed_addr constant [9 x i8] c"FiberCtx\00", align 1
@str.1169 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1170 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1171 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1172 = private constant [5 x i8] c"regs\00"
@field_names.1173 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1172, i64 4 }]
@str.1174 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1175 = private unnamed_addr constant [6 x i8] c"Fiber\00", align 1
@str.1176 = private unnamed_addr constant [2 x i8] c"{\00", align 1
@str.1177 = private unnamed_addr constant [2 x i8] c"}\00", align 1
@str.1178 = private unnamed_addr constant [3 x i8] c", \00", align 1
@fld.str.1179 = private constant [4 x i8] c"ctx\00"
@fld.str.1180 = private constant [7 x i8] c"finish\00"
@fld.str.1181 = private constant [4 x i8] c"out\00"
@fld.str.1182 = private constant [9 x i8] c"guard_ok\00"
@field_names.1183 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1179, i64 3 }, { ptr, i64 } { ptr @fld.str.1180, i64 6 }, { ptr, i64 } { ptr @fld.str.1181, i64 3 }, { ptr, i64 } { ptr @fld.str.1182, i64 8 }]
@str.1184 = private unnamed_addr constant [3 x i8] c": \00", align 1
@str.1185 = private unnamed_addr constant [2 x i8] c".\00", align 1
@fld.str.1186 = private constant [4 x i8] c"any\00"
@fld.str.1187 = private constant [5 x i8] c"main\00"
@fld.str.1188 = private constant [10 x i8] c"on_thread\00"
@field_names.1189 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1186, i64 3 }, { ptr, i64 } { ptr @fld.str.1187, i64 4 }, { ptr, i64 } { ptr @fld.str.1188, i64 9 }]
@str.1190 = private unnamed_addr constant [2 x i8] c"(\00", align 1
@str.1191 = private unnamed_addr constant [2 x i8] c")\00", align 1
@str.1192 = private unnamed_addr constant [2 x i8] c".\00", align 1
@fld.str.1193 = private constant [8 x i8] c"relaxed\00"
@fld.str.1194 = private constant [8 x i8] c"acquire\00"
@fld.str.1195 = private constant [8 x i8] c"release\00"
@fld.str.1196 = private constant [8 x i8] c"acq_rel\00"
@fld.str.1197 = private constant [8 x i8] c"seq_cst\00"
@field_names.1198 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1193, i64 7 }, { ptr, i64 } { ptr @fld.str.1194, i64 7 }, { ptr, i64 } { ptr @fld.str.1195, i64 7 }, { ptr, i64 } { ptr @fld.str.1196, i64 7 }, { ptr, i64 } { ptr @fld.str.1197, i64 7 }]
@str.1199 = private unnamed_addr constant [2 x i8] c"(\00", align 1
@str.1200 = private unnamed_addr constant [2 x i8] c")\00", align 1
@str.1201 = private unnamed_addr constant [2 x i8] c".\00", align 1
@fld.str.1202 = private constant [8 x i8] c"pending\00"
@fld.str.1203 = private constant [6 x i8] c"ready\00"
@fld.str.1204 = private constant [7 x i8] c"failed\00"
@fld.str.1205 = private constant [9 x i8] c"canceled\00"
@field_names.1206 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1202, i64 7 }, { ptr, i64 } { ptr @fld.str.1203, i64 5 }, { ptr, i64 } { ptr @fld.str.1204, i64 6 }, { ptr, i64 } { ptr @fld.str.1205, i64 8 }]
@str.1207 = private unnamed_addr constant [2 x i8] c"(\00", align 1
@str.1208 = private unnamed_addr constant [2 x i8] c")\00", align 1
@str.1209 = private unnamed_addr constant [2 x i8] c".\00", align 1
@fld.str.1210 = private constant [5 x i8] c"read\00"
@fld.str.1211 = private constant [6 x i8] c"write\00"
@fld.str.1212 = private constant [7 x i8] c"append\00"
@fld.str.1213 = private constant [11 x i8] c"read_write\00"
@field_names.1214 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1210, i64 4 }, { ptr, i64 } { ptr @fld.str.1211, i64 5 }, { ptr, i64 } { ptr @fld.str.1212, i64 6 }, { ptr, i64 } { ptr @fld.str.1213, i64 10 }]
@str.1215 = private unnamed_addr constant [2 x i8] c"(\00", align 1
@str.1216 = private unnamed_addr constant [2 x i8] c")\00", align 1
@str.1217 = private unnamed_addr constant [2 x i8] c".\00", align 1
@fld.str.1218 = private constant [4 x i8] c"set\00"
@fld.str.1219 = private constant [8 x i8] c"current\00"
@fld.str.1220 = private constant [4 x i8] c"end\00"
@field_names.1221 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1218, i64 3 }, { ptr, i64 } { ptr @fld.str.1219, i64 7 }, { ptr, i64 } { ptr @fld.str.1220, i64 3 }]
@str.1222 = private unnamed_addr constant [2 x i8] c"(\00", align 1
@str.1223 = private unnamed_addr constant [2 x i8] c")\00", align 1
@str.1224 = private unnamed_addr constant [2 x i8] c".\00", align 1
@fld.str.1225 = private constant [6 x i8] c"null_\00"
@fld.str.1226 = private constant [6 x i8] c"bool_\00"
@fld.str.1227 = private constant [5 x i8] c"int_\00"
@fld.str.1228 = private constant [4 x i8] c"str\00"
@fld.str.1229 = private constant [6 x i8] c"array\00"
@fld.str.1230 = private constant [7 x i8] c"object\00"
@field_names.1231 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1225, i64 5 }, { ptr, i64 } { ptr @fld.str.1226, i64 5 }, { ptr, i64 } { ptr @fld.str.1227, i64 4 }, { ptr, i64 } { ptr @fld.str.1228, i64 3 }, { ptr, i64 } { ptr @fld.str.1229, i64 5 }, { ptr, i64 } { ptr @fld.str.1230, i64 6 }]
@str.1232 = private unnamed_addr constant [2 x i8] c"(\00", align 1
@str.1233 = private unnamed_addr constant [2 x i8] c")\00", align 1
@str.1234 = private unnamed_addr constant [2 x i8] c".\00", align 1
@fld.str.1235 = private constant [6 x i8] c"macos\00"
@fld.str.1236 = private constant [6 x i8] c"linux\00"
@fld.str.1237 = private constant [8 x i8] c"windows\00"
@fld.str.1238 = private constant [5 x i8] c"wasm\00"
@fld.str.1239 = private constant [4 x i8] c"ios\00"
@fld.str.1240 = private constant [8 x i8] c"android\00"
@fld.str.1241 = private constant [8 x i8] c"unknown\00"
@field_names.1242 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1235, i64 5 }, { ptr, i64 } { ptr @fld.str.1236, i64 5 }, { ptr, i64 } { ptr @fld.str.1237, i64 7 }, { ptr, i64 } { ptr @fld.str.1238, i64 4 }, { ptr, i64 } { ptr @fld.str.1239, i64 3 }, { ptr, i64 } { ptr @fld.str.1240, i64 7 }, { ptr, i64 } { ptr @fld.str.1241, i64 7 }]
@str.1243 = private unnamed_addr constant [2 x i8] c"(\00", align 1
@str.1244 = private unnamed_addr constant [2 x i8] c")\00", align 1
@str.1245 = private unnamed_addr constant [2 x i8] c".\00", align 1
@fld.str.1246 = private constant [8 x i8] c"aarch64\00"
@fld.str.1247 = private constant [7 x i8] c"x86_64\00"
@fld.str.1248 = private constant [7 x i8] c"wasm32\00"
@fld.str.1249 = private constant [7 x i8] c"wasm64\00"
@fld.str.1250 = private constant [8 x i8] c"unknown\00"
@field_names.1251 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1246, i64 7 }, { ptr, i64 } { ptr @fld.str.1247, i64 6 }, { ptr, i64 } { ptr @fld.str.1248, i64 6 }, { ptr, i64 } { ptr @fld.str.1249, i64 6 }, { ptr, i64 } { ptr @fld.str.1250, i64 7 }]
@str.1252 = private unnamed_addr constant [2 x i8] c"(\00", align 1
@str.1253 = private unnamed_addr constant [2 x i8] c")\00", align 1
@str.1254 = private unnamed_addr constant [2 x i8] c"[\00", align 1
@str.1255 = private unnamed_addr constant [2 x i8] c"]\00", align 1
@str.1256 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.1257 = private unnamed_addr constant [2 x i8] c"[\00", align 1
@str.1258 = private unnamed_addr constant [2 x i8] c"]\00", align 1
@str.1259 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.1260 = private unnamed_addr constant [2 x i8] c"[\00", align 1
@str.1261 = private unnamed_addr constant [2 x i8] c"]\00", align 1
@str.1262 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.1263 = private unnamed_addr constant [2 x i8] c"[\00", align 1
@str.1264 = private unnamed_addr constant [2 x i8] c"]\00", align 1
@str.1265 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.1266 = private unnamed_addr constant [2 x i8] c"[\00", align 1
@str.1267 = private unnamed_addr constant [2 x i8] c"]\00", align 1
@str.1268 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.1269 = private unnamed_addr constant [2 x i8] c"[\00", align 1
@str.1270 = private unnamed_addr constant [2 x i8] c"]\00", align 1
@str.1271 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.1272 = private unnamed_addr constant [2 x i8] c"[\00", align 1
@str.1273 = private unnamed_addr constant [2 x i8] c"]\00", align 1
@str.1274 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.1275 = private unnamed_addr constant [2 x i8] c"[\00", align 1
@str.1276 = private unnamed_addr constant [2 x i8] c"]\00", align 1
@str.1277 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.1278 = private unnamed_addr constant [2 x i8] c"[\00", align 1
@str.1279 = private unnamed_addr constant [2 x i8] c"]\00", align 1
@str.1280 = private unnamed_addr constant [3 x i8] c", \00", align 1
@str.1281 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1282 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1
@str.1283 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1284 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1285 = private unnamed_addr constant [6 x i8] c"*void\00", align 1
@str.1286 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1287 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1288 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1
@str.1289 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1290 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1291 = private unnamed_addr constant [13 x i8] c"*CBlockingIo\00", align 1
@str.1292 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1293 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1294 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1
@str.1295 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1296 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1297 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1
@str.1298 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1299 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1300 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1
@str.1301 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1302 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1303 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1
@str.1304 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1305 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1306 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1
@str.1307 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1308 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1309 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1
@str.1310 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1311 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1312 = private unnamed_addr constant [6 x i8] c"*File\00", align 1
@str.1313 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1314 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1315 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1
@str.1316 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1317 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1318 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1
@str.1319 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1320 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1321 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1
@str.1322 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1323 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1324 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1
@str.1325 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1326 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1327 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1
@str.1328 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1329 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1330 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1
@str.1331 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1332 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1333 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1
@str.1334 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1335 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1336 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1
@str.1337 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1338 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1339 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1
@str.1340 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1341 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1342 = private unnamed_addr constant [10 x i8] c"[*]string\00", align 1
@str.1343 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1344 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1345 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1
@str.1346 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1347 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1348 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1
@str.1349 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1350 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1351 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1
@str.1352 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1353 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1354 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1
@str.1355 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1356 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1357 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1
@str.1358 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1359 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1360 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1
@str.1361 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1362 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1363 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1
@str.1364 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1365 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1366 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1
@str.1367 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1368 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1369 = private unnamed_addr constant [6 x i8] c"*Pool\00", align 1
@str.1370 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1371 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1372 = private unnamed_addr constant [14 x i8] c"[*]Completion\00", align 1
@str.1373 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1374 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1375 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1
@str.1376 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1377 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1378 = private unnamed_addr constant [11 x i8] c"*PoolState\00", align 1
@str.1379 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1380 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1381 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1
@str.1382 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1383 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1384 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1
@str.1385 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1386 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1387 = private unnamed_addr constant [7 x i8] c"*usize\00", align 1
@str.1388 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1389 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1390 = private unnamed_addr constant [7 x i8] c"**void\00", align 1
@str.1391 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1392 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1393 = private unnamed_addr constant [10 x i8] c"*MutexBuf\00", align 1
@str.1394 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1395 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1396 = private unnamed_addr constant [9 x i8] c"*CondBuf\00", align 1
@str.1397 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1398 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1399 = private unnamed_addr constant [7 x i8] c"*Mutex\00", align 1
@str.1400 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1401 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1402 = private unnamed_addr constant [6 x i8] c"*Cond\00", align 1
@str.1403 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1404 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1405 = private unnamed_addr constant [8 x i8] c"*Thread\00", align 1
@str.1406 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1407 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1408 = private unnamed_addr constant [12 x i8] c"[*]PoolTask\00", align 1
@str.1409 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1410 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1411 = private unnamed_addr constant [9 x i8] c"[*]usize\00", align 1
@str.1412 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1413 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1414 = private unnamed_addr constant [10 x i8] c"*FiberCtx\00", align 1
@str.1415 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1416 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1417 = private unnamed_addr constant [7 x i8] c"*Fiber\00", align 1
@str.1418 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1419 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1420 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1
@str.1421 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1422 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1423 = private unnamed_addr constant [14 x i8] c"**CBlockingIo\00", align 1
@str.1424 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1425 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1426 = private unnamed_addr constant [11 x i8] c"*SpawnOpts\00", align 1
@str.1427 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1428 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1429 = private unnamed_addr constant [11 x i8] c"*ParkToken\00", align 1
@str.1430 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1431 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1432 = private unnamed_addr constant [8 x i8] c"**Fiber\00", align 1
@str.1433 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1434 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1435 = private unnamed_addr constant [11 x i8] c"**FiberCtx\00", align 1
@str.1436 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1437 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1438 = private unnamed_addr constant [5 x i8] c"*u64\00", align 1
@str.1439 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1440 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1441 = private unnamed_addr constant [9 x i8] c"*[13]u64\00", align 1
@str.1442 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1443 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1444 = private unnamed_addr constant [8 x i8] c"*string\00", align 1
@str.1445 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1446 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1447 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1
@str.1448 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1449 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1450 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1
@str.1451 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1452 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1453 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1
@str.1454 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1455 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1456 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1
@str.1457 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1458 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1459 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1
@str.1460 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1461 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1462 = private unnamed_addr constant [14 x i8] c"*BuildOptions\00", align 1
@str.1463 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1464 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1465 = private unnamed_addr constant [14 x i8] c"*List__string\00", align 1
@str.1466 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1467 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1468 = private unnamed_addr constant [15 x i8] c"**List__string\00", align 1
@str.1469 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1470 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1471 = private unnamed_addr constant [11 x i8] c"*Allocator\00", align 1
@str.1472 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1473 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1474 = private unnamed_addr constant [11 x i8] c"*[*]string\00", align 1
@str.1475 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1476 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1477 = private unnamed_addr constant [15 x i8] c"*ProcessResult\00", align 1
@str.1478 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1479 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1480 = private unnamed_addr constant [10 x i8] c"*[]string\00", align 1
@str.1481 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1482 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1483 = private unnamed_addr constant [11 x i8] c"*[2]string\00", align 1
@str.1484 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1485 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1486 = private unnamed_addr constant [10 x i8] c"*?cstring\00", align 1
@str.1487 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1488 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1489 = private unnamed_addr constant [9 x i8] c"*cstring\00", align 1
@str.1490 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1491 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1492 = private unnamed_addr constant [7 x i8] c"*[*]u8\00", align 1
@str.1493 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1494 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1495 = private unnamed_addr constant [7 x i8] c"*isize\00", align 1
@str.1496 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1497 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1498 = private unnamed_addr constant [8 x i8] c"*[4]Any\00", align 1
@str.1499 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1500 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1501 = private unnamed_addr constant [8 x i8] c"*[5]Any\00", align 1
@str.1502 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1503 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1504 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1
@str.1505 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1506 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1507 = private unnamed_addr constant [6 x i8] c"*Type\00", align 1
@str.1508 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1
@str.1509 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1510 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1511 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1512 = private unnamed_addr constant [5 x i8] c"null\00", align 1
@str.1513 = private unnamed_addr constant [5 x i8] c"null\00", align 1
declare i64 @write(i32, ptr, i64)
; Function Attrs: nounwind
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%dptr = extractvalue { ptr, i64 } %load, 0
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
ret void
}
declare ptr @malloc(i64)
declare void @free(ptr)
declare ptr @memcpy(ptr, ptr, i64)
declare ptr @memset(ptr, i32, i64)
; Function Attrs: nounwind
declare void @out.1(ptr, ptr) #0
; Function Attrs: nounwind
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%add = add i64 %load, 1
%loadN = load { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } }, ptr %0, align 8
%sg = extractvalue { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } } %loadN, 0
%sgN = extractvalue { ptr, ptr, ptr } %sg, 0
%sgN = extractvalue { ptr, ptr, ptr } %sg, 1
%icall = call ptr %sgN(ptr %0, ptr %sgN, i64 %add)
%allocaN = alloca ptr, align 8
store ptr %icall, ptr %allocaN, align 8
%loadN = load ptr, ptr %allocaN, align 8
%loadN = load i64, ptr %alloca, align 8
%addN = add i64 %loadN, 1
%2 = call ptr @memset(ptr %loadN, i32 0, i64 %addN)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } undef, ptr %allocaN, align 8
%loadN = load ptr, ptr %allocaN, align 8
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
%pti = ptrtoint ptr %loadN to i64
store i64 %pti, ptr %gep, align 8
%loadN = load i64, ptr %alloca, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 %loadN, ptr %gepN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @int_to_string(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
%allocaN = alloca i1, align 1
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%icmp = icmp eq i64 %load, 0
br i1 %icmp, label %if.then.20, label %if.merge.21
if.then.20: ; preds = %entry
ret { ptr, i64 } { ptr @str, i64 1 }
if.merge.21: ; preds = %entry
%loadN = load i64, ptr %alloca, align 8
%icmpN = icmp slt i64 %loadN, 0
store i1 %icmpN, ptr %allocaN, align 1
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
store { ptr, i64 } %call, ptr %allocaN, align 8
store i64 19, ptr %allocaN, align 8
%loadN = load i64, ptr %alloca, align 8
store i64 %loadN, ptr %allocaN, align 8
br label %while.hdr.22
while.hdr.22: ; preds = %if.merge.26, %if.merge.21
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp ne i64 %loadN, 0
br i1 %icmpN, label %while.body.23, label %while.exit.24
while.body.23: ; preds = %while.hdr.22
%loadN = load i64, ptr %allocaN, align 8
%srem = srem i64 %loadN, 10
store i64 %srem, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp slt i64 %loadN, 0
br i1 %icmpN, label %if.then.25, label %if.merge.26
while.exit.24: ; preds = %while.hdr.22
%loadN = load i1, ptr %allocaN, align 1
br i1 %loadN, label %if.then.27, label %if.merge.28
if.then.25: ; preds = %while.body.23
%loadN = load i64, ptr %allocaN, align 8
%sub = sub i64 0, %loadN
store i64 %sub, ptr %allocaN, align 8
br label %if.merge.26
if.merge.26: ; preds = %if.then.25, %while.body.23
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 48
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.data = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr = getelementptr i8, ptr %igp.data, i64 %loadN
%trunc = trunc i64 %add to i8
store i8 %trunc, ptr %igp.ptr, align 1
%loadN = load i64, ptr %allocaN, align 8
%sdiv = sdiv i64 %loadN, 10
store i64 %sdiv, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
store i64 %subN, ptr %allocaN, align 8
br label %while.hdr.22
if.then.27: ; preds = %while.exit.24
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.data24 = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr25 = getelementptr i8, ptr %igp.data24, i64 %loadN
store i8 45, ptr %igp.ptr25, align 1
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
store i64 %subN, ptr %allocaN, align 8
br label %if.merge.28
if.merge.28: ; preds = %if.then.27, %while.exit.24
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 19, %loadN
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %addN, i64 %subN)
ret { ptr, i64 } %callN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @uint_to_string(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
%allocaN = alloca [4 x i64], align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%icmp = icmp eq i64 %load, 0
br i1 %icmp, label %if.then.527, label %if.merge.528
if.then.527: ; preds = %entry
ret { ptr, i64 } { ptr @str.109, i64 1 }
if.merge.528: ; preds = %entry
%loadN = load i64, ptr %alloca, align 8
%call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN)
store [4 x i64] %call, ptr %allocaN, align 8
%callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
store { ptr, i64 } %callN, ptr %allocaN, align 8
store i64 19, ptr %allocaN, align 8
br label %while.hdr.537
while.hdr.537: ; preds = %while.exit.548, %if.merge.528
%igp.ptr = getelementptr i64, ptr %allocaN, i64 0
%loadN = load i64, ptr %igp.ptr, align 8
%icmpN = icmp ne i64 %loadN, 0
br i1 %icmpN, label %or.merge.541, label %or.rhs.540
while.body.538: ; preds = %or.merge.545
store i64 0, ptr %allocaN, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.546
while.exit.539: ; preds = %or.merge.545
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
%loadN = load i64, ptr %allocaN, align 8
%sub = sub i64 19, %loadN
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %add, i64 %sub)
ret { ptr, i64 } %callN
or.rhs.540: ; preds = %while.hdr.537
%igp.ptr14 = getelementptr i64, ptr %allocaN, i64 1
%loadN = load i64, ptr %igp.ptr14, align 8
%icmpN = icmp ne i64 %loadN, 0
br label %or.merge.541
or.merge.541: ; preds = %or.rhs.540, %while.hdr.537
%bp = phi i1 [ true, %while.hdr.537 ], [ %icmpN, %or.rhs.540 ]
br i1 %bp, label %or.merge.543, label %or.rhs.542
or.rhs.542: ; preds = %or.merge.541
%igp.ptr17 = getelementptr i64, ptr %allocaN, i64 2
%loadN = load i64, ptr %igp.ptr17, align 8
%icmpN = icmp ne i64 %loadN, 0
br label %or.merge.543
or.merge.543: ; preds = %or.rhs.542, %or.merge.541
%bpN = phi i1 [ true, %or.merge.541 ], [ %icmpN, %or.rhs.542 ]
br i1 %bpN, label %or.merge.545, label %or.rhs.544
or.rhs.544: ; preds = %or.merge.543
%igp.ptr21 = getelementptr i64, ptr %allocaN, i64 3
%loadN = load i64, ptr %igp.ptr21, align 8
%icmpN = icmp ne i64 %loadN, 0
br label %or.merge.545
or.merge.545: ; preds = %or.rhs.544, %or.merge.543
%bpN = phi i1 [ true, %or.merge.543 ], [ %icmpN, %or.rhs.544 ]
br i1 %bpN, label %while.body.538, label %while.exit.539
while.hdr.546: ; preds = %while.body.547, %while.body.538
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp slt i64 %loadN, 4
br i1 %icmpN, label %while.body.547, label %while.exit.548
while.body.547: ; preds = %while.hdr.546
%loadN = load i64, ptr %allocaN, align 8
%mul = mul i64 %loadN, 65536
%loadN = load i64, ptr %allocaN, align 8
%igp.ptr29 = getelementptr i64, ptr %allocaN, i64 %loadN
%loadN = load i64, ptr %igp.ptr29, align 8
%addN = add i64 %mul, %loadN
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%sdiv = sdiv i64 %loadN, 10
%loadN = load i64, ptr %allocaN, align 8
%igp.ptr35 = getelementptr i64, ptr %allocaN, i64 %loadN
store i64 %sdiv, ptr %igp.ptr35, align 8
%loadN = load i64, ptr %allocaN, align 8
%srem = srem i64 %loadN, 10
store i64 %srem, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
store i64 %addN, ptr %allocaN, align 8
br label %while.hdr.546
while.exit.548: ; preds = %while.hdr.546
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 48
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.data = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr43 = getelementptr i8, ptr %igp.data, i64 %loadN
%trunc = trunc i64 %addN to i8
store i8 %trunc, ptr %igp.ptr43, align 1
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
store i64 %subN, ptr %allocaN, align 8
br label %while.hdr.537
}
; Function Attrs: nounwind
define internal { ptr, i64 } @bool_to_string(ptr %0, i1 %1) #0 {
entry:
%alloca = alloca i1, align 1
store i1 %1, ptr %alloca, align 1
%load = load i1, ptr %alloca, align 1
br i1 %load, label %if.then.549, label %if.else.550
if.then.549: ; preds = %entry
br label %if.merge.551
if.else.550: ; preds = %entry
br label %if.merge.551
if.merge.551: ; preds = %if.else.550, %if.then.549
%bp = phi { ptr, i64 } [ { ptr @str.110, i64 4 }, %if.then.549 ], [ { ptr @str.111, i64 5 }, %if.else.550 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @float_to_string(ptr %0, double %1) #0 {
entry:
%alloca = alloca double, align 8
%allocaN = alloca double, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
store double %1, ptr %alloca, align 8
%load = load double, ptr %alloca, align 8
%fcmp = fcmp olt double %load, 0.000000e+00
%allocaN = alloca i1, align 1
store i1 %fcmp, ptr %allocaN, align 1
%loadN = load i1, ptr %allocaN, align 1
br i1 %loadN, label %if.then.555, label %if.else.556
if.then.555: ; preds = %entry
%loadN = load double, ptr %alloca, align 8
%fsub = fsub double 0.000000e+00, %loadN
br label %if.merge.557
if.else.556: ; preds = %entry
%loadN = load double, ptr %alloca, align 8
br label %if.merge.557
if.merge.557: ; preds = %if.else.556, %if.then.555
%bp = phi double [ %fsub, %if.then.555 ], [ %loadN, %if.else.556 ]
store double %bp, ptr %allocaN, align 8
%loadN = load double, ptr %allocaN, align 8
%fptosi = fptosi double %loadN to i64
store i64 %fptosi, ptr %allocaN, align 8
%loadN = load double, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%sitofp = sitofp i64 %loadN to double
%fsubN = fsub double %loadN, %sitofp
%fmul = fmul double %fsubN, 1.000000e+06
%fptosiN = fptosi double %fmul to i64
store i64 %fptosiN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %loadN, 0
br i1 %icmp, label %if.then.558, label %if.merge.559
if.then.558: ; preds = %if.merge.557
%loadN = load i64, ptr %allocaN, align 8
%sub = sub i64 0, %loadN
store i64 %sub, ptr %allocaN, align 8
br label %if.merge.559
if.merge.559: ; preds = %if.then.558, %if.merge.557
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_string(ptr %0, i64 %loadN)
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
store i64 %len, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
store i64 %lenN, ptr %allocaN, align 8
%loadN = load i1, ptr %allocaN, align 1
br i1 %loadN, label %if.then.560, label %if.else.561
if.then.560: ; preds = %if.merge.559
br label %if.merge.562
if.else.561: ; preds = %if.merge.559
br label %if.merge.562
if.merge.562: ; preds = %if.else.561, %if.then.560
%bpN = phi i64 [ 1, %if.then.560 ], [ 0, %if.else.561 ]
store i64 %bpN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, %loadN
%addN = add i64 %add, 1
%addN = add i64 %addN, 6
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
store i64 0, ptr %allocaN, align 8
%loadN = load i1, ptr %allocaN, align 1
br i1 %loadN, label %if.then.563, label %if.merge.564
if.then.563: ; preds = %if.merge.562
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.data = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr = getelementptr i8, ptr %igp.data, i64 0
store i8 45, ptr %igp.ptr, align 1
store i64 1, ptr %allocaN, align 8
br label %if.merge.564
if.merge.564: ; preds = %if.then.563, %if.merge.562
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.data41 = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr42 = getelementptr i8, ptr %igp.data41, i64 %loadN
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%loadN = load i64, ptr %allocaN, align 8
%callN = call ptr @memcpy(ptr %igp.ptr42, ptr %dptr, i64 %loadN)
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, %loadN
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.data51 = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr52 = getelementptr i8, ptr %igp.data51, i64 %loadN
store i8 46, ptr %igp.ptr52, align 1
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 6, %loadN
store i64 %subN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.data60 = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr61 = getelementptr i8, ptr %igp.data60, i64 %loadN
%loadN = load i64, ptr %allocaN, align 8
%2 = call ptr @memset(ptr %igp.ptr61, i32 48, i64 %loadN)
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, %loadN
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.data68 = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr69 = getelementptr i8, ptr %igp.data68, i64 %loadN
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptrN = extractvalue { ptr, i64 } %loadN, 0
%loadN = load i64, ptr %allocaN, align 8
%callN = call ptr @memcpy(ptr %igp.ptr69, ptr %dptrN, i64 %loadN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal void @hex_group(ptr %0, { ptr, i64 } %1, i64 %2, i64 %3) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %2, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 %3, ptr %allocaN, align 8
%load = load i64, ptr %allocaN, align 8
%add = add i64 %load, 3
%allocaN = alloca i64, align 8
store i64 %add, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 %loadN, ptr %allocaN, align 8
br label %while.hdr.1060
while.hdr.1060: ; preds = %if.merge.1065, %entry
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp sge i64 %loadN, %loadN
br i1 %icmp, label %while.body.1061, label %while.exit.1062
while.body.1061: ; preds = %while.hdr.1060
%loadN = load i64, ptr %allocaN, align 8
%srem = srem i64 %loadN, 16
store i64 %srem, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp slt i64 %loadN, 10
br i1 %icmpN, label %if.then.1063, label %if.else.1064
while.exit.1062: ; preds = %while.hdr.1060
ret void
if.then.1063: ; preds = %while.body.1061
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 48
br label %if.merge.1065
if.else.1064: ; preds = %while.body.1061
%loadN = load i64, ptr %allocaN, align 8
%sub = sub i64 %loadN, 10
%addN = add i64 %sub, 97
br label %if.merge.1065
if.merge.1065: ; preds = %if.else.1064, %if.then.1063
%bp = phi i64 [ %addN, %if.then.1063 ], [ %addN, %if.else.1064 ]
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%igp.data = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr = getelementptr i8, ptr %igp.data, i64 %loadN
%trunc = trunc i64 %bp to i8
store i8 %trunc, ptr %igp.ptr, align 1
%loadN = load i64, ptr %allocaN, align 8
%sdiv = sdiv i64 %loadN, 16
store i64 %sdiv, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
store i64 %subN, ptr %allocaN, align 8
br label %while.hdr.1060
}
; Function Attrs: nounwind
define internal [4 x i64] @decompose_u16x4(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca [4 x i64], align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%srem = srem i64 %load, 65536
%allocaN = alloca i64, align 8
store i64 %srem, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %loadN, 0
br i1 %icmp, label %if.then.529, label %if.merge.530
if.then.529: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 65536
store i64 %add, ptr %allocaN, align 8
br label %if.merge.530
if.merge.530: ; preds = %if.then.529, %entry
%loadN = load i64, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%sub = sub i64 %loadN, %loadN
%sdiv = sdiv i64 %sub, 65536
store i64 %sdiv, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%sremN = srem i64 %loadN, 65536
store i64 %sremN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp slt i64 %loadN, 0
br i1 %icmpN, label %if.then.531, label %if.merge.532
if.then.531: ; preds = %if.merge.530
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 65536
store i64 %addN, ptr %allocaN, align 8
br label %if.merge.532
if.merge.532: ; preds = %if.then.531, %if.merge.530
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, %loadN
%sdivN = sdiv i64 %subN, 65536
store i64 %sdivN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%sremN = srem i64 %loadN, 65536
store i64 %sremN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp slt i64 %loadN, 0
br i1 %icmpN, label %if.then.533, label %if.merge.534
if.then.533: ; preds = %if.merge.532
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 65536
store i64 %addN, ptr %allocaN, align 8
br label %if.merge.534
if.merge.534: ; preds = %if.then.533, %if.merge.532
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, %loadN
%sdivN = sdiv i64 %subN, 65536
store i64 %sdivN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%sremN = srem i64 %loadN, 65536
store i64 %sremN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp slt i64 %loadN, 0
br i1 %icmpN, label %if.then.535, label %if.merge.536
if.then.535: ; preds = %if.merge.534
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 65536
store i64 %addN, ptr %allocaN, align 8
br label %if.merge.536
if.merge.536: ; preds = %if.then.535, %if.merge.534
%loadN = load i64, ptr %allocaN, align 8
%igp.ptr = getelementptr i64, ptr %allocaN, i64 0
store i64 %loadN, ptr %igp.ptr, align 8
%loadN = load i64, ptr %allocaN, align 8
%igp.ptr41 = getelementptr i64, ptr %allocaN, i64 1
store i64 %loadN, ptr %igp.ptr41, align 8
%loadN = load i64, ptr %allocaN, align 8
%igp.ptr43 = getelementptr i64, ptr %allocaN, i64 2
store i64 %loadN, ptr %igp.ptr43, align 8
%loadN = load i64, ptr %allocaN, align 8
%igp.ptr45 = getelementptr i64, ptr %allocaN, i64 3
store i64 %loadN, ptr %igp.ptr45, align 8
%loadN = load [4 x i64], ptr %allocaN, align 8
ret [4 x i64] %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @int_to_hex_string(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
%allocaN = alloca [4 x i64], align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%icmp = icmp eq i64 %load, 0
br i1 %icmp, label %if.then.1058, label %if.merge.1059
if.then.1058: ; preds = %entry
ret { ptr, i64 } { ptr @str.112, i64 1 }
if.merge.1059: ; preds = %entry
%loadN = load i64, ptr %alloca, align 8
%call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN)
store [4 x i64] %call, ptr %allocaN, align 8
%callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.ptr = getelementptr i64, ptr %allocaN, i64 0
%loadN = load i64, ptr %igp.ptr, align 8
call void @hex_group(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %loadN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.ptr8 = getelementptr i64, ptr %allocaN, i64 1
%loadN = load i64, ptr %igp.ptr8, align 8
call void @hex_group(ptr %0, { ptr, i64 } %loadN, i64 4, i64 %loadN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.ptr11 = getelementptr i64, ptr %allocaN, i64 2
%loadN = load i64, ptr %igp.ptr11, align 8
call void @hex_group(ptr %0, { ptr, i64 } %loadN, i64 8, i64 %loadN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.ptr14 = getelementptr i64, ptr %allocaN, i64 3
%loadN = load i64, ptr %igp.ptr14, align 8
call void @hex_group(ptr %0, { ptr, i64 } %loadN, i64 12, i64 %loadN)
store i64 0, ptr %allocaN, align 8
br label %while.hdr.1066
while.hdr.1066: ; preds = %if.merge.1070, %if.merge.1059
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp slt i64 %loadN, 15
br i1 %icmpN, label %while.body.1067, label %while.exit.1068
while.body.1067: ; preds = %while.hdr.1066
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %loadN
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext = zext i8 %ig.val to i64
%icmpN = icmp ne i64 %cmp.ext, 48
br i1 %icmpN, label %if.then.1069, label %if.merge.1070
while.exit.1068: ; preds = %if.then.1069, %while.hdr.1066
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%sub = sub i64 16, %loadN
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub)
ret { ptr, i64 } %callN
if.then.1069: ; preds = %while.body.1067
br label %while.exit.1068
if.merge.1070: ; preds = %while.body.1067
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.1066
}
; Function Attrs: nounwind
define internal { ptr, i64 } @concat(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %load, 1
%allocaN = alloca i64, align 8
store i64 %len, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%allocaN = alloca i64, align 8
store i64 %lenN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, %loadN
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%dptrN = extractvalue { ptr, i64 } %loadN, 0
%loadN = load i64, ptr %allocaN, align 8
%callN = call ptr @memcpy(ptr %dptr, ptr %dptrN, i64 %loadN)
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.data = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr = getelementptr i8, ptr %igp.data, i64 %loadN
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptrN = extractvalue { ptr, i64 } %loadN, 0
%loadN = load i64, ptr %allocaN, align 8
%callN = call ptr @memcpy(ptr %igp.ptr, ptr %dptrN, i64 %loadN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @substr(ptr %0, { ptr, i64 } %1, i64 %2, i64 %3) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %2, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 %3, ptr %allocaN, align 8
%load = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%igp.data = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr = getelementptr i8, ptr %igp.data, i64 %loadN
%loadN = load i64, ptr %allocaN, align 8
%callN = call ptr @memcpy(ptr %dptr, ptr %igp.ptr, i64 %loadN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal i64 @cstring_len(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca ptr, align 8
%load = load ptr, ptr %alloca, align 8
store ptr %load, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.107
while.hdr.107: ; preds = %while.body.108, %entry
%loadN = load ptr, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.ptr = getelementptr i8, ptr %loadN, i64 %loadN
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext = zext i8 %ig.val to i64
%icmp = icmp ne i64 %cmp.ext, 0
br i1 %icmp, label %while.body.108, label %while.exit.109
while.body.108: ; preds = %while.hdr.107
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.107
while.exit.109: ; preds = %while.hdr.107
%loadN = load i64, ptr %allocaN, align 8
ret i64 %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @from_cstring(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca ptr, align 8
%load = load ptr, ptr %alloca, align 8
store ptr %load, ptr %allocaN, align 8
%loadN = load ptr, ptr %allocaN, align 8
%loadN = load ptr, ptr %alloca, align 8
%call = call i64 @cstring_len(ptr %0, ptr %loadN)
%si = insertvalue { ptr, i64 } undef, ptr %loadN, 0
%siN = insertvalue { ptr, i64 } %si, i64 %call, 1
ret { ptr, i64 } %siN
}
; Function Attrs: nounwind
define internal ptr @to_cstring(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %load, 1
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %len)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%dptrN = extractvalue { ptr, i64 } %loadN, 0
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%callN = call ptr @memcpy(ptr %dptr, ptr %dptrN, i64 %lenN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptrN = extractvalue { ptr, i64 } %loadN, 0
ret ptr %dptrN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @path_join(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i8, align 1
%allocaN = alloca i8, align 1
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.113, i64 0 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.91
while.hdr.91: ; preds = %if.merge.95, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.92, label %while.exit.93
while.body.92: ; preds = %while.hdr.91
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr { ptr, i64 }, ptr %ig.data, i64 %loadN
%ig.val = load { ptr, i64 }, ptr %ig.ptr, align 8
store { ptr, i64 } %ig.val, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp sgt i64 %lenN, 0
br i1 %icmpN, label %if.then.94, label %if.merge.95
while.exit.93: ; preds = %while.hdr.91
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
if.then.94: ; preds = %while.body.92
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp sgt i64 %lenN, 0
br i1 %icmpN, label %if.then.96, label %if.merge.97
if.merge.95: ; preds = %if.merge.97, %while.body.92
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.91
if.then.96: ; preds = %if.then.94
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%sub = sub i64 %lenN, 1
%ig.data18 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr19 = getelementptr i8, ptr %ig.data18, i64 %sub
%ig.val20 = load i8, ptr %ig.ptr19, align 1
store i8 %ig.val20, ptr %allocaN, align 1
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ig.data23 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr24 = getelementptr i8, ptr %ig.data23, i64 0
%ig.val25 = load i8, ptr %ig.ptr24, align 1
store i8 %ig.val25, ptr %allocaN, align 1
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext, 47
br i1 %icmpN, label %if.then.98, label %if.else.99
if.merge.97: ; preds = %if.merge.100, %if.then.94
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %call, ptr %allocaN, align 8
br label %if.merge.95
if.then.98: ; preds = %if.then.96
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext32 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext32, 47
br i1 %icmpN, label %if.then.101, label %if.merge.102
if.else.99: ; preds = %if.then.96
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext35 = zext i8 %loadN to i64
%icmpN = icmp ne i64 %cmp.ext35, 47
br i1 %icmpN, label %if.then.103, label %if.merge.104
if.merge.100: ; preds = %if.merge.104, %if.merge.102
br label %if.merge.97
if.then.101: ; preds = %if.then.98
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 1, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.102
if.merge.102: ; preds = %if.then.101, %if.then.98
br label %if.merge.100
if.then.103: ; preds = %if.else.99
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.114, i64 1 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.104
if.merge.104: ; preds = %if.then.103, %if.else.99
br label %if.merge.100
}
; Function Attrs: nounwind
define internal { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %1) #0 {
entry:
%alloca = alloca { i64, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca double, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i32, align 4
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { i64, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.115, i64 3 }, ptr %allocaN, align 8
%load = load { i64, i64 }, ptr %alloca, align 8
%sg = extractvalue { i64, i64 } %load, 0
%allocaN = alloca i64, align 8
store i64 %sg, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %match.unr.523 [
i64 17, label %match.arm.509
i64 2, label %match.arm.510
i64 3, label %match.arm.510
i64 4, label %match.arm.510
i64 5, label %match.arm.510
i64 6, label %match.arm.510
i64 7, label %match.arm.510
i64 8, label %match.arm.510
i64 9, label %match.arm.510
i64 16, label %match.arm.510
i64 15, label %match.arm.510
i64 12, label %match.arm.511
i64 1, label %match.arm.512
i64 10, label %match.arm.513
i64 11, label %match.arm.513
i64 102, label %match.arm.514
i64 103, label %match.arm.514
i64 105, label %match.arm.514
i64 106, label %match.arm.514
i64 107, label %match.arm.514
i64 109, label %match.arm.514
i64 113, label %match.arm.514
i64 116, label %match.arm.514
i64 119, label %match.arm.514
i64 121, label %match.arm.514
i64 123, label %match.arm.514
i64 125, label %match.arm.514
i64 127, label %match.arm.514
i64 129, label %match.arm.514
i64 133, label %match.arm.514
i64 137, label %match.arm.514
i64 139, label %match.arm.514
i64 142, label %match.arm.514
i64 149, label %match.arm.514
i64 150, label %match.arm.514
i64 152, label %match.arm.514
i64 158, label %match.arm.514
i64 163, label %match.arm.514
i64 168, label %match.arm.514
i64 169, label %match.arm.514
i64 175, label %match.arm.514
i64 177, label %match.arm.514
i64 178, label %match.arm.514
i64 179, label %match.arm.514
i64 181, label %match.arm.514
i64 188, label %match.arm.514
i64 192, label %match.arm.514
i64 193, label %match.arm.514
i64 197, label %match.arm.514
i64 198, label %match.arm.514
i64 204, label %match.arm.514
i64 205, label %match.arm.514
i64 206, label %match.arm.514
i64 208, label %match.arm.514
i64 209, label %match.arm.514
i64 210, label %match.arm.514
i64 211, label %match.arm.514
i64 213, label %match.arm.514
i64 215, label %match.arm.514
i64 219, label %match.arm.514
i64 221, label %match.arm.514
i64 227, label %match.arm.514
i64 229, label %match.arm.514
i64 233, label %match.arm.514
i64 235, label %match.arm.514
i64 239, label %match.arm.514
i64 244, label %match.arm.514
i64 246, label %match.arm.514
i64 104, label %match.arm.515
i64 112, label %match.arm.515
i64 118, label %match.arm.515
i64 131, label %match.arm.515
i64 132, label %match.arm.515
i64 151, label %match.arm.515
i64 170, label %match.arm.515
i64 171, label %match.arm.515
i64 108, label %match.arm.516
i64 115, label %match.arm.516
i64 145, label %match.arm.516
i64 148, label %match.arm.516
i64 161, label %match.arm.516
i64 174, label %match.arm.516
i64 196, label %match.arm.516
i64 203, label %match.arm.516
i64 231, label %match.arm.516
i64 110, label %match.arm.518
i64 180, label %match.arm.518
i64 186, label %match.arm.518
i64 187, label %match.arm.518
i64 191, label %match.arm.518
i64 243, label %match.arm.518
i64 259, label %match.arm.518
i64 271, label %match.arm.518
i64 277, label %match.arm.518
i64 279, label %match.arm.518
i64 281, label %match.arm.518
i64 111, label %match.arm.519
i64 157, label %match.arm.519
i64 176, label %match.arm.519
i64 184, label %match.arm.519
i64 202, label %match.arm.519
i64 257, label %match.arm.519
i64 100, label %match.arm.520
i64 101, label %match.arm.520
i64 114, label %match.arm.520
i64 117, label %match.arm.520
i64 120, label %match.arm.520
i64 122, label %match.arm.520
i64 124, label %match.arm.520
i64 126, label %match.arm.520
i64 128, label %match.arm.520
i64 130, label %match.arm.520
i64 134, label %match.arm.520
i64 141, label %match.arm.520
i64 143, label %match.arm.520
i64 144, label %match.arm.520
i64 153, label %match.arm.520
i64 154, label %match.arm.520
i64 155, label %match.arm.520
i64 156, label %match.arm.520
i64 159, label %match.arm.520
i64 164, label %match.arm.520
i64 167, label %match.arm.520
i64 173, label %match.arm.520
i64 182, label %match.arm.520
i64 185, label %match.arm.520
i64 189, label %match.arm.520
i64 194, label %match.arm.520
i64 195, label %match.arm.520
i64 200, label %match.arm.520
i64 207, label %match.arm.520
i64 212, label %match.arm.520
i64 214, label %match.arm.520
i64 216, label %match.arm.520
i64 218, label %match.arm.520
i64 220, label %match.arm.520
i64 223, label %match.arm.520
i64 224, label %match.arm.520
i64 226, label %match.arm.520
i64 228, label %match.arm.520
i64 230, label %match.arm.520
i64 232, label %match.arm.520
i64 234, label %match.arm.520
i64 237, label %match.arm.520
i64 240, label %match.arm.520
i64 241, label %match.arm.520
i64 245, label %match.arm.520
i64 247, label %match.arm.520
i64 248, label %match.arm.520
i64 249, label %match.arm.520
i64 250, label %match.arm.520
i64 251, label %match.arm.520
i64 252, label %match.arm.520
i64 253, label %match.arm.520
i64 254, label %match.arm.520
i64 255, label %match.arm.520
i64 256, label %match.arm.520
i64 258, label %match.arm.520
i64 260, label %match.arm.520
i64 261, label %match.arm.520
i64 262, label %match.arm.520
i64 263, label %match.arm.520
i64 264, label %match.arm.520
i64 265, label %match.arm.520
i64 266, label %match.arm.520
i64 267, label %match.arm.520
i64 268, label %match.arm.520
i64 269, label %match.arm.520
i64 270, label %match.arm.520
i64 272, label %match.arm.520
i64 273, label %match.arm.520
i64 274, label %match.arm.520
i64 275, label %match.arm.520
i64 276, label %match.arm.520
i64 278, label %match.arm.520
i64 280, label %match.arm.520
i64 282, label %match.arm.520
i64 283, label %match.arm.520
i64 135, label %match.arm.521
i64 136, label %match.arm.521
i64 138, label %match.arm.521
i64 140, label %match.arm.521
i64 190, label %match.arm.521
i64 19, label %match.arm.522
]
match.merge.508: ; preds = %dispatch.merge.1296, %dispatch.merge.977, %dispatch.merge.954, %dispatch.merge.911, %dispatch.merge.885, %dispatch.merge.565, %float.merge.554, %if.merge.526, %match.unr.523, %match.arm.522, %match.arm.516, %match.arm.512, %match.arm.511, %match.arm.509
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
match.arm.509: ; preds = %entry
store { ptr, i64 } { ptr @str.116, i64 0 }, ptr %allocaN, align 8
br label %match.merge.508
match.arm.510: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
%loadN = load i64, ptr %allocaN, align 8
%tiu.gep = getelementptr inbounds [395 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %loadN
%tiu.load = load i1, ptr %tiu.gep, align 1
br i1 %tiu.load, label %if.then.524, label %if.else.525
match.arm.511: ; preds = %entry
%loadN = load { i64, i64 }, ptr %alloca, align 8
%ua.raw = extractvalue { i64, i64 } %loadN, 1
%ua.ptr = inttoptr i64 %ua.raw to ptr
%ua.load = load { ptr, i64 }, ptr %ua.ptr, align 8
store { ptr, i64 } %ua.load, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
store { ptr, i64 } %loadN, ptr %allocaN, align 8
br label %match.merge.508
match.arm.512: ; preds = %entry
%loadN = load { i64, i64 }, ptr %alloca, align 8
%ua.raw10 = extractvalue { i64, i64 } %loadN, 1
%tr = trunc i64 %ua.raw10 to i1
%call = call { ptr, i64 } @bool_to_string(ptr %0, i1 %tr)
store { ptr, i64 } %call, ptr %allocaN, align 8
br label %match.merge.508
match.arm.513: ; preds = %entry, %entry
%loadN = load { i64, i64 }, ptr %alloca, align 8
%sgN = extractvalue { i64, i64 } %loadN, 0
%icmp = icmp eq i64 %sgN, 10
br i1 %icmp, label %fN.unbox.552, label %fN.unbox.553
match.arm.514: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %alloca, align 8
switch i64 %loadN, label %dispatch.default.566 [
i64 102, label %dispatch.case.567
i64 103, label %dispatch.case.568
i64 105, label %dispatch.case.569
i64 106, label %dispatch.case.570
i64 107, label %dispatch.case.571
i64 109, label %dispatch.case.572
i64 113, label %dispatch.case.573
i64 116, label %dispatch.case.574
i64 119, label %dispatch.case.575
i64 121, label %dispatch.case.576
i64 123, label %dispatch.case.577
i64 125, label %dispatch.case.578
i64 127, label %dispatch.case.579
i64 129, label %dispatch.case.580
i64 133, label %dispatch.case.581
i64 137, label %dispatch.case.582
i64 139, label %dispatch.case.583
i64 142, label %dispatch.case.584
i64 149, label %dispatch.case.585
i64 150, label %dispatch.case.586
i64 152, label %dispatch.case.587
i64 158, label %dispatch.case.588
i64 163, label %dispatch.case.589
i64 168, label %dispatch.case.590
i64 169, label %dispatch.case.591
i64 175, label %dispatch.case.592
i64 177, label %dispatch.case.593
i64 178, label %dispatch.case.594
i64 179, label %dispatch.case.595
i64 181, label %dispatch.case.596
i64 188, label %dispatch.case.597
i64 192, label %dispatch.case.598
i64 193, label %dispatch.case.599
i64 197, label %dispatch.case.600
i64 198, label %dispatch.case.601
i64 204, label %dispatch.case.602
i64 205, label %dispatch.case.603
i64 206, label %dispatch.case.604
i64 208, label %dispatch.case.605
i64 209, label %dispatch.case.606
i64 210, label %dispatch.case.607
i64 211, label %dispatch.case.608
i64 213, label %dispatch.case.609
i64 215, label %dispatch.case.610
i64 219, label %dispatch.case.611
i64 221, label %dispatch.case.612
i64 227, label %dispatch.case.613
i64 229, label %dispatch.case.614
i64 233, label %dispatch.case.615
i64 235, label %dispatch.case.616
i64 239, label %dispatch.case.617
i64 244, label %dispatch.case.618
i64 246, label %dispatch.case.619
]
match.arm.515: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %alloca, align 8
switch i64 %loadN, label %dispatch.default.886 [
i64 104, label %dispatch.case.887
i64 112, label %dispatch.case.888
i64 118, label %dispatch.case.889
i64 131, label %dispatch.case.890
i64 132, label %dispatch.case.891
i64 151, label %dispatch.case.892
i64 170, label %dispatch.case.893
i64 171, label %dispatch.case.894
]
match.arm.516: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
%loadN = load { i64, i64 }, ptr %alloca, align 8
%ua.raw22 = extractvalue { i64, i64 } %loadN, 1
%trN = trunc i64 %ua.raw22 to i32
store i32 %trN, ptr %allocaN, align 4
%loadN = load i32, ptr %allocaN, align 4
%etn.idx = zext i32 %loadN to i64
%etn.gep = getelementptr inbounds [25 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx
%etn.load = load { ptr, i64 }, ptr %etn.gep, align 8
store { ptr, i64 } %etn.load, ptr %allocaN, align 8
br label %match.merge.508
match.arm.517: ; No predecessors!
unreachable
match.arm.518: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %alloca, align 8
switch i64 %loadN, label %dispatch.default.912 [
i64 110, label %dispatch.case.913
i64 180, label %dispatch.case.914
i64 186, label %dispatch.case.915
i64 187, label %dispatch.case.916
i64 191, label %dispatch.case.917
i64 243, label %dispatch.case.918
i64 259, label %dispatch.case.919
i64 271, label %dispatch.case.920
i64 277, label %dispatch.case.921
i64 279, label %dispatch.case.922
i64 281, label %dispatch.case.923
]
match.arm.519: ; preds = %entry, %entry, %entry, %entry, %entry, %entry
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %alloca, align 8
switch i64 %loadN, label %dispatch.default.955 [
i64 111, label %dispatch.case.956
i64 157, label %dispatch.case.957
i64 176, label %dispatch.case.958
i64 184, label %dispatch.case.959
i64 202, label %dispatch.case.960
i64 257, label %dispatch.case.961
]
match.arm.520: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %alloca, align 8
switch i64 %loadN, label %dispatch.default.978 [
i64 100, label %dispatch.case.979
i64 101, label %dispatch.case.980
i64 114, label %dispatch.case.981
i64 117, label %dispatch.case.982
i64 120, label %dispatch.case.983
i64 122, label %dispatch.case.984
i64 124, label %dispatch.case.985
i64 126, label %dispatch.case.986
i64 128, label %dispatch.case.987
i64 130, label %dispatch.case.988
i64 134, label %dispatch.case.989
i64 141, label %dispatch.case.990
i64 143, label %dispatch.case.991
i64 144, label %dispatch.case.992
i64 153, label %dispatch.case.993
i64 154, label %dispatch.case.994
i64 155, label %dispatch.case.995
i64 156, label %dispatch.case.996
i64 159, label %dispatch.case.997
i64 164, label %dispatch.case.998
i64 167, label %dispatch.case.999
i64 173, label %dispatch.case.1000
i64 182, label %dispatch.case.1001
i64 185, label %dispatch.case.1002
i64 189, label %dispatch.case.1003
i64 194, label %dispatch.case.1004
i64 195, label %dispatch.case.1005
i64 200, label %dispatch.case.1006
i64 207, label %dispatch.case.1007
i64 212, label %dispatch.case.1008
i64 214, label %dispatch.case.1009
i64 216, label %dispatch.case.1010
i64 218, label %dispatch.case.1011
i64 220, label %dispatch.case.1012
i64 223, label %dispatch.case.1013
i64 224, label %dispatch.case.1014
i64 226, label %dispatch.case.1015
i64 228, label %dispatch.case.1016
i64 230, label %dispatch.case.1017
i64 232, label %dispatch.case.1018
i64 234, label %dispatch.case.1019
i64 237, label %dispatch.case.1020
i64 240, label %dispatch.case.1021
i64 241, label %dispatch.case.1022
i64 245, label %dispatch.case.1023
i64 247, label %dispatch.case.1024
i64 248, label %dispatch.case.1025
i64 249, label %dispatch.case.1026
i64 250, label %dispatch.case.1027
i64 251, label %dispatch.case.1028
i64 252, label %dispatch.case.1029
i64 253, label %dispatch.case.1030
i64 254, label %dispatch.case.1031
i64 255, label %dispatch.case.1032
i64 256, label %dispatch.case.1033
i64 258, label %dispatch.case.1034
i64 260, label %dispatch.case.1035
i64 261, label %dispatch.case.1036
i64 262, label %dispatch.case.1037
i64 263, label %dispatch.case.1038
i64 264, label %dispatch.case.1039
i64 265, label %dispatch.case.1040
i64 266, label %dispatch.case.1041
i64 267, label %dispatch.case.1042
i64 268, label %dispatch.case.1043
i64 269, label %dispatch.case.1044
i64 270, label %dispatch.case.1045
i64 272, label %dispatch.case.1046
i64 273, label %dispatch.case.1047
i64 274, label %dispatch.case.1048
i64 275, label %dispatch.case.1049
i64 276, label %dispatch.case.1050
i64 278, label %dispatch.case.1051
i64 280, label %dispatch.case.1052
i64 282, label %dispatch.case.1053
i64 283, label %dispatch.case.1054
]
match.arm.521: ; preds = %entry, %entry, %entry, %entry, %entry
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %alloca, align 8
switch i64 %loadN, label %dispatch.default.1297 [
i64 135, label %dispatch.case.1298
i64 136, label %dispatch.case.1299
i64 138, label %dispatch.case.1300
i64 140, label %dispatch.case.1301
i64 190, label %dispatch.case.1302
]
match.arm.522: ; preds = %entry
%loadN = load { i64, i64 }, ptr %alloca, align 8
%refl.tag = extractvalue { i64, i64 } %loadN, 0
%refl.val = extractvalue { i64, i64 } %loadN, 1
%refl.istype = icmp eq i64 %refl.tag, 19
%refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag
%tn.gep = getelementptr inbounds [395 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid
%tn.load = load { ptr, i64 }, ptr %tn.gep, align 8
store { ptr, i64 } %tn.load, ptr %allocaN, align 8
br label %match.merge.508
match.unr.523: ; preds = %entry
br label %match.merge.508
if.then.524: ; preds = %match.arm.510
%loadN = load { i64, i64 }, ptr %alloca, align 8
%ua.raw39 = extractvalue { i64, i64 } %loadN, 1
%callN = call { ptr, i64 } @uint_to_string(ptr %0, i64 %ua.raw39)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.526
if.else.525: ; preds = %match.arm.510
%loadN = load { i64, i64 }, ptr %alloca, align 8
%ua.raw42 = extractvalue { i64, i64 } %loadN, 1
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %ua.raw42)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.526
if.merge.526: ; preds = %if.else.525, %if.then.524
br label %match.merge.508
f32.unbox.552: ; preds = %match.arm.513
%ua.raw44 = extractvalue { i64, i64 } %loadN, 1
%trN = trunc i64 %ua.raw44 to i32
%iNf = bitcast i32 %trN to float
%fpext = fpext float %iNf to double
store double %fpext, ptr %allocaN, align 8
br label %float.merge.554
f64.unbox.553: ; preds = %match.arm.513
%ua.raw45 = extractvalue { i64, i64 } %loadN, 1
%iNd = bitcast i64 %ua.raw45 to double
store double %iNd, ptr %allocaN, align 8
br label %float.merge.554
float.merge.554: ; preds = %fN.unbox.553, %fN.unbox.552
%loadN = load double, ptr %allocaN, align 8
%callN = call { ptr, i64 } @float_to_string(ptr %0, double %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %match.merge.508
dispatch.merge.565: ; preds = %dispatch.case.619, %dispatch.case.618, %dispatch.case.617, %dispatch.case.616, %dispatch.case.615, %dispatch.case.614, %dispatch.case.613, %dispatch.case.612, %dispatch.case.611, %dispatch.case.610, %dispatch.case.609, %dispatch.case.608, %dispatch.case.607, %dispatch.case.606, %dispatch.case.605, %dispatch.case.604, %dispatch.case.603, %dispatch.case.602, %dispatch.case.601, %dispatch.case.600, %dispatch.case.599, %dispatch.case.598, %dispatch.case.597, %dispatch.case.596, %dispatch.case.595, %dispatch.case.594, %dispatch.case.593, %dispatch.case.592, %dispatch.case.591, %dispatch.case.590, %dispatch.case.589, %dispatch.case.588, %dispatch.case.587, %dispatch.case.586, %dispatch.case.585, %dispatch.case.584, %dispatch.case.583, %dispatch.case.582, %dispatch.case.581, %dispatch.case.580, %dispatch.case.579, %dispatch.case.578, %dispatch.case.577, %dispatch.case.576, %dispatch.case.575, %dispatch.case.574, %dispatch.case.573, %dispatch.case.572, %dispatch.case.571, %dispatch.case.570, %dispatch.case.569, %dispatch.case.568, %dispatch.case.567, %dispatch.default.566
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
store { ptr, i64 } %loadN, ptr %allocaN, align 8
br label %match.merge.508
dispatch.default.566: ; preds = %match.arm.514
store { ptr, i64 } { ptr @str.535, i64 0 }, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.567: ; preds = %match.arm.514
%ua.raw49 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr50 = inttoptr i64 %ua.raw49 to ptr
%ua.load51 = load { { ptr, i64 }, i32, i32, { ptr, i64 } }, ptr %ua.ptr50, align 8
%callN = call { ptr, i64 } @struct_to_string__Source_Location(ptr %0, { { ptr, i64 }, i32, i32, { ptr, i64 } } %ua.load51)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.568: ; preds = %match.arm.514
%ua.raw53 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr54 = inttoptr i64 %ua.raw53 to ptr
%ua.load55 = load { ptr, ptr, ptr }, ptr %ua.ptr54, align 8
%callN = call { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, ptr } %ua.load55)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.569: ; preds = %match.arm.514
%ua.raw57 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr58 = inttoptr i64 %ua.raw57 to ptr
%ua.load59 = load { i64 }, ptr %ua.ptr58, align 8
%callN = call { ptr, i64 } @struct_to_string__SpawnOpts(ptr %0, { i64 } %ua.load59)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.570: ; preds = %match.arm.514
%ua.raw61 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr62 = inttoptr i64 %ua.raw61 to ptr
%ua.load63 = load { ptr }, ptr %ua.ptr62, align 8
%callN = call { ptr, i64 } @struct_to_string__ParkToken(ptr %0, { ptr } %ua.load63)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.571: ; preds = %match.arm.514
%ua.raw65 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr66 = inttoptr i64 %ua.raw65 to ptr
%ua.load67 = load { ptr, ptr, ptr, ptr, ptr, ptr, ptr }, ptr %ua.ptr66, align 8
%callN = call { ptr, i64 } @struct_to_string__Io(ptr %0, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %ua.load67)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.572: ; preds = %match.arm.514
%ua.raw69 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr70 = inttoptr i64 %ua.raw69 to ptr
%ua.load71 = load { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } }, ptr %ua.ptr70, align 8
%callN = call { ptr, i64 } @struct_to_string__Context(ptr %0, { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } } %ua.load71)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.573: ; preds = %match.arm.514
%ua.raw73 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr74 = inttoptr i64 %ua.raw73 to ptr
%ua.load75 = load { i64, i64 }, ptr %ua.ptr74, align 8
%callN = call { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %ua.load75)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.574: ; preds = %match.arm.514
%ua.raw77 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr78 = inttoptr i64 %ua.raw77 to ptr
%ua.load79 = load {}, ptr %ua.ptr78, align 1
%callN = call { ptr, i64 } @struct_to_string__CBlockingIo(ptr %0, {} %ua.load79)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.575: ; preds = %match.arm.514
%ua.raw81 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr82 = inttoptr i64 %ua.raw81 to ptr
%ua.load83 = load {}, ptr %ua.ptr82, align 1
%callN = call { ptr, i64 } @struct_to_string__CAllocator(ptr %0, {} %ua.load83)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.576: ; preds = %match.arm.514
%ua.raw85 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr86 = inttoptr i64 %ua.raw85 to ptr
%ua.load87 = load { i64 }, ptr %ua.ptr86, align 8
%callN = call { ptr, i64 } @struct_to_string__GPA(ptr %0, { i64 } %ua.load87)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.577: ; preds = %match.arm.514
%ua.raw89 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr90 = inttoptr i64 %ua.raw89 to ptr
%ua.load91 = load { ptr, i64 }, ptr %ua.ptr90, align 8
%callN = call { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } %ua.load91)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.578: ; preds = %match.arm.514
%ua.raw93 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr94 = inttoptr i64 %ua.raw93 to ptr
%ua.load95 = load { ptr, i64, { ptr, ptr, ptr } }, ptr %ua.ptr94, align 8
%callN = call { ptr, i64 } @struct_to_string__Arena(ptr %0, { ptr, i64, { ptr, ptr, ptr } } %ua.load95)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.579: ; preds = %match.arm.514
%ua.raw97 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr98 = inttoptr i64 %ua.raw97 to ptr
%ua.load99 = load { ptr, i64, i64 }, ptr %ua.ptr98, align 8
%callN = call { ptr, i64 } @struct_to_string__BufAlloc(ptr %0, { ptr, i64, i64 } %ua.load99)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.580: ; preds = %match.arm.514
%ua.raw101 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr102 = inttoptr i64 %ua.raw101 to ptr
%ua.load103 = load { { ptr, ptr, ptr }, i64, i64, i64 }, ptr %ua.ptr102, align 8
%callN = call { ptr, i64 } @struct_to_string__TrackingAllocator(ptr %0, { { ptr, ptr, ptr }, i64, i64, i64 } %ua.load103)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.581: ; preds = %match.arm.514
%ua.raw105 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr106 = inttoptr i64 %ua.raw105 to ptr
%ua.load107 = load { i32 }, ptr %ua.ptr106, align 4
%callN = call { ptr, i64 } @struct_to_string__File(ptr %0, { i32 } %ua.load107)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.582: ; preds = %match.arm.514
%ua.raw109 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr110 = inttoptr i64 %ua.raw109 to ptr
%ua.load111 = load { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr110, align 8
%callN = call { ptr, i64 } @struct_to_string__TraceFrame(ptr %0, { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } %ua.load111)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.583: ; preds = %match.arm.514
%ua.raw113 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr114 = inttoptr i64 %ua.raw113 to ptr
%ua.load115 = load { i32, { ptr, i64 } }, ptr %ua.ptr114, align 8
%callN = call { ptr, i64 } @struct_to_string__ProcessResult(ptr %0, { i32, { ptr, i64 } } %ua.load115)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.584: ; preds = %match.arm.514
%ua.raw117 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr118 = inttoptr i64 %ua.raw117 to ptr
%ua.load119 = load { i8, i8, i16, i32, i64 }, ptr %ua.ptr118, align 8
%callN = call { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, i32, i64 } %ua.load119)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.585: ; preds = %match.arm.514
%ua.raw121 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr122 = inttoptr i64 %ua.raw121 to ptr
%ua.load123 = load { ptr, i64, i64 }, ptr %ua.ptr122, align 8
%callN = call { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } %ua.load123)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.586: ; preds = %match.arm.514
%ua.raw125 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr126 = inttoptr i64 %ua.raw125 to ptr
%ua.load127 = load { ptr, i64, i64 }, ptr %ua.ptr126, align 8
%callN = call { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %ua.load127)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.587: ; preds = %match.arm.514
%ua.raw129 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr130 = inttoptr i64 %ua.raw129 to ptr
%ua.load131 = load { { ptr, i64 }, { i64, [24 x i8] } }, ptr %ua.ptr130, align 8
%callN = call { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %ua.load131)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.588: ; preds = %match.arm.514
%ua.raw133 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr134 = inttoptr i64 %ua.raw133 to ptr
%ua.load135 = load { { ptr, i64 }, i64, ptr }, ptr %ua.ptr134, align 8
%callN = call { ptr, i64 } @struct_to_string__Sink(ptr %0, { { ptr, i64 }, i64, ptr } %ua.load135)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.589: ; preds = %match.arm.514
%ua.raw137 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr138 = inttoptr i64 %ua.raw137 to ptr
%ua.load139 = load { { ptr, i64 }, i64, { ptr, ptr, ptr } }, ptr %ua.ptr138, align 8
%callN = call { ptr, i64 } @struct_to_string__Parser(ptr %0, { { ptr, i64 }, i64, { ptr, ptr, ptr } } %ua.load139)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.590: ; preds = %match.arm.514
%ua.raw141 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr142 = inttoptr i64 %ua.raw141 to ptr
%ua.load143 = load { ptr, i64, i64 }, ptr %ua.ptr142, align 8
%callN = call { ptr, i64 } @struct_to_string__List__string(ptr %0, { ptr, i64, i64 } %ua.load143)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.591: ; preds = %match.arm.514
%ua.raw145 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr146 = inttoptr i64 %ua.raw145 to ptr
%ua.load147 = load {}, ptr %ua.ptr146, align 1
%callN = call { ptr, i64 } @struct_to_string__BuildOptions(ptr %0, {} %ua.load147)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.592: ; preds = %match.arm.514
%ua.raw149 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr150 = inttoptr i64 %ua.raw149 to ptr
%ua.load151 = load { { ptr, i64 }, i1, i1 }, ptr %ua.ptr150, align 8
%callN = call { ptr, i64 } @struct_to_string__FlagSpec(ptr %0, { { ptr, i64 }, i1, i1 } %ua.load151)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.593: ; preds = %match.arm.514
%ua.raw153 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr154 = inttoptr i64 %ua.raw153 to ptr
%ua.load155 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr154, align 8
%callN = call { ptr, i64 } @struct_to_string__Command(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load155)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.594: ; preds = %match.arm.514
%ua.raw157 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr158 = inttoptr i64 %ua.raw157 to ptr
%ua.load159 = load { i1, { ptr, i64 } }, ptr %ua.ptr158, align 8
%callN = call { ptr, i64 } @struct_to_string__FlagValue(ptr %0, { i1, { ptr, i64 } } %ua.load159)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.595: ; preds = %match.arm.514
%ua.raw161 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr162 = inttoptr i64 %ua.raw161 to ptr
%ua.load163 = load { i64, { ptr, i64 } }, ptr %ua.ptr162, align 8
%callN = call { ptr, i64 } @struct_to_string__Diag(ptr %0, { i64, { ptr, i64 } } %ua.load163)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.596: ; preds = %match.arm.514
%ua.raw165 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr166 = inttoptr i64 %ua.raw165 to ptr
%ua.load167 = load { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %ua.ptr166, align 8
%callN = call { ptr, i64 } @struct_to_string__Parsed(ptr %0, { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %ua.load167)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.597: ; preds = %match.arm.514
%ua.raw169 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr170 = inttoptr i64 %ua.raw169 to ptr
%ua.load171 = load { [8 x i64], [64 x i8], i64, i64 }, ptr %ua.ptr170, align 8
%callN = call { ptr, i64 } @struct_to_string__Sha256(ptr %0, { [8 x i64], [64 x i8], i64, i64 } %ua.load171)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.598: ; preds = %match.arm.514
%ua.raw173 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr174 = inttoptr i64 %ua.raw173 to ptr
%ua.load175 = load { i64, i16, i16, i32, i64, i64 }, ptr %ua.ptr174, align 8
%callN = call { ptr, i64 } @struct_to_string__Kevent(ptr %0, { i64, i16, i16, i32, i64, i64 } %ua.load175)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.599: ; preds = %match.arm.514
%ua.raw177 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr178 = inttoptr i64 %ua.raw177 to ptr
%ua.load179 = load { i64, i64 }, ptr %ua.ptr178, align 8
%callN = call { ptr, i64 } @struct_to_string__KqTimespec(ptr %0, { i64, i64 } %ua.load179)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.600: ; preds = %match.arm.514
%ua.raw181 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr182 = inttoptr i64 %ua.raw181 to ptr
%ua.load183 = load { i32, i64, i1, i1, i1, i1, i1, i64 }, ptr %ua.ptr182, align 8
%callN = call { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1, i1, i1, i1, i64 } %ua.load183)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.601: ; preds = %match.arm.514
%ua.raw185 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr186 = inttoptr i64 %ua.raw185 to ptr
%ua.load187 = load { i32 }, ptr %ua.ptr186, align 4
%callN = call { ptr, i64 } @struct_to_string__Loop(ptr %0, { i32 } %ua.load187)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.602: ; preds = %match.arm.514
%ua.raw189 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr190 = inttoptr i64 %ua.raw189 to ptr
%ua.load191 = load { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, ptr %ua.ptr190, align 8
%callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %ua.load191)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.603: ; preds = %match.arm.514
%ua.raw193 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr194 = inttoptr i64 %ua.raw193 to ptr
%ua.load195 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr194, align 8
%callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load195)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.604: ; preds = %match.arm.514
%ua.raw197 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr198 = inttoptr i64 %ua.raw197 to ptr
%ua.load199 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr198, align 8
%callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load199)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.605: ; preds = %match.arm.514
%ua.raw201 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr202 = inttoptr i64 %ua.raw201 to ptr
%ua.load203 = load { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 }, ptr %ua.ptr202, align 8
%callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %ua.load203)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.606: ; preds = %match.arm.514
%ua.raw205 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr206 = inttoptr i64 %ua.raw205 to ptr
%ua.load207 = load { ptr, i64 }, ptr %ua.ptr206, align 8
%callN = call { ptr, i64 } @struct_to_string__OutBytes(ptr %0, { ptr, i64 } %ua.load207)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.607: ; preds = %match.arm.514
%ua.raw209 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr210 = inttoptr i64 %ua.raw209 to ptr
%ua.load211 = load { i64, i64, { ptr, i64 }, i1, i64 }, ptr %ua.ptr210, align 8
%callN = call { ptr, i64 } @struct_to_string__Completion(ptr %0, { i64, i64, { ptr, i64 }, i1, i64 } %ua.load211)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.608: ; preds = %match.arm.514
%ua.raw213 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr214 = inttoptr i64 %ua.raw213 to ptr
%ua.load215 = load { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 }, ptr %ua.ptr214, align 8
%callN = call { ptr, i64 } @struct_to_string__Pool(ptr %0, { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %ua.load215)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.609: ; preds = %match.arm.514
%ua.raw217 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr218 = inttoptr i64 %ua.raw217 to ptr
%ua.load219 = load { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr %ua.ptr218, align 8
%callN = call { ptr, i64 } @struct_to_string__Mutex(ptr %0, { { i64, i64, i64, i64, i64, i64, i64, i64 } } %ua.load219)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.610: ; preds = %match.arm.514
%ua.raw221 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr222 = inttoptr i64 %ua.raw221 to ptr
%ua.load223 = load { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } }, ptr %ua.ptr222, align 8
%callN = call { ptr, i64 } @struct_to_string__PoolState(ptr %0, { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } } %ua.load223)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.611: ; preds = %match.arm.514
%ua.raw225 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr226 = inttoptr i64 %ua.raw225 to ptr
%ua.load227 = load { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 }, ptr %ua.ptr226, align 8
%callN = call { ptr, i64 } @struct_to_string__HandlerJob(ptr %0, { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %ua.load227)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.612: ; preds = %match.arm.514
%ua.raw229 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr230 = inttoptr i64 %ua.raw229 to ptr
%ua.load231 = load { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr }, ptr %ua.ptr230, align 8
%callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %ua.load231)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.613: ; preds = %match.arm.514
%ua.raw233 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr234 = inttoptr i64 %ua.raw233 to ptr
%ua.load235 = load { i64, i64, i64, i64, i64, i64, i64, i64 }, ptr %ua.ptr234, align 8
%callN = call { ptr, i64 } @struct_to_string__MutexBuf(ptr %0, { i64, i64, i64, i64, i64, i64, i64, i64 } %ua.load235)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.614: ; preds = %match.arm.514
%ua.raw237 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr238 = inttoptr i64 %ua.raw237 to ptr
%ua.load239 = load { i64, i64, i64, i64, i64, i64 }, ptr %ua.ptr238, align 8
%callN = call { ptr, i64 } @struct_to_string__CondBuf(ptr %0, { i64, i64, i64, i64, i64, i64 } %ua.load239)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.615: ; preds = %match.arm.514
%ua.raw241 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr242 = inttoptr i64 %ua.raw241 to ptr
%ua.load243 = load { { i64, i64, i64, i64, i64, i64 } }, ptr %ua.ptr242, align 8
%callN = call { ptr, i64 } @struct_to_string__Cond(ptr %0, { { i64, i64, i64, i64, i64, i64 } } %ua.load243)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.616: ; preds = %match.arm.514
%ua.raw245 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr246 = inttoptr i64 %ua.raw245 to ptr
%ua.load247 = load { i64 }, ptr %ua.ptr246, align 8
%callN = call { ptr, i64 } @struct_to_string__Thread(ptr %0, { i64 } %ua.load247)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.617: ; preds = %match.arm.514
%ua.raw249 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr250 = inttoptr i64 %ua.raw249 to ptr
%ua.load251 = load { ptr, i64 }, ptr %ua.ptr250, align 8
%callN = call { ptr, i64 } @struct_to_string__PoolTask(ptr %0, { ptr, i64 } %ua.load251)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.618: ; preds = %match.arm.514
%ua.raw253 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr254 = inttoptr i64 %ua.raw253 to ptr
%ua.load255 = load { [13 x i64] }, ptr %ua.ptr254, align 8
%callN = call { ptr, i64 } @struct_to_string__FiberCtx(ptr %0, { [13 x i64] } %ua.load255)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.case.619: ; preds = %match.arm.514
%ua.raw257 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr258 = inttoptr i64 %ua.raw257 to ptr
%ua.load259 = load { { [13 x i64] }, ptr, i64, i64 }, ptr %ua.ptr258, align 8
%callN = call { ptr, i64 } @struct_to_string__Fiber(ptr %0, { { [13 x i64] }, ptr, i64, i64 } %ua.load259)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.565
dispatch.merge.885: ; preds = %dispatch.case.894, %dispatch.case.893, %dispatch.case.892, %dispatch.case.891, %dispatch.case.890, %dispatch.case.889, %dispatch.case.888, %dispatch.case.887, %dispatch.default.886
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
store { ptr, i64 } %loadN, ptr %allocaN, align 8
br label %match.merge.508
dispatch.default.886: ; preds = %match.arm.515
store { ptr, i64 } { ptr @str.536, i64 0 }, ptr %allocaN, align 8
br label %dispatch.merge.885
dispatch.case.887: ; preds = %match.arm.515
%ua.raw262 = extractvalue { i64, i64 } %loadN, 1
%callN = call { ptr, i64 } @enum_to_string__PinTarget(ptr %0, i64 %ua.raw262)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.885
dispatch.case.888: ; preds = %match.arm.515
%ua.raw264 = extractvalue { i64, i64 } %loadN, 1
%callN = call { ptr, i64 } @enum_to_string__Ordering(ptr %0, i64 %ua.raw264)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.885
dispatch.case.889: ; preds = %match.arm.515
%ua.raw266 = extractvalue { i64, i64 } %loadN, 1
%callN = call { ptr, i64 } @enum_to_string__FutureState(ptr %0, i64 %ua.raw266)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.885
dispatch.case.890: ; preds = %match.arm.515
%ua.raw268 = extractvalue { i64, i64 } %loadN, 1
%callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw268)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.885
dispatch.case.891: ; preds = %match.arm.515
%ua.raw270 = extractvalue { i64, i64 } %loadN, 1
%callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw270)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.885
dispatch.case.892: ; preds = %match.arm.515
%ua.raw272 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr273 = inttoptr i64 %ua.raw272 to ptr
%ua.load274 = load { i64, [24 x i8] }, ptr %ua.ptr273, align 8
%callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load274)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.885
dispatch.case.893: ; preds = %match.arm.515
%ua.raw276 = extractvalue { i64, i64 } %loadN, 1
%callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw276)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.885
dispatch.case.894: ; preds = %match.arm.515
%ua.raw278 = extractvalue { i64, i64 } %loadN, 1
%callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw278)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.885
dispatch.merge.911: ; preds = %dispatch.case.923, %dispatch.case.922, %dispatch.case.921, %dispatch.case.920, %dispatch.case.919, %dispatch.case.918, %dispatch.case.917, %dispatch.case.916, %dispatch.case.915, %dispatch.case.914, %dispatch.case.913, %dispatch.default.912
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
store { ptr, i64 } %loadN, ptr %allocaN, align 8
br label %match.merge.508
dispatch.default.912: ; preds = %match.arm.518
store { ptr, i64 } { ptr @str.537, i64 0 }, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.913: ; preds = %match.arm.518
%ua.raw281 = extractvalue { i64, i64 } %loadN, 1
%iNp = inttoptr i64 %ua.raw281 to ptr
%si = insertvalue { ptr, i64 } undef, ptr %iNp, 0
%siN = insertvalue { ptr, i64 } %si, i64 4, 1
%callN = call { ptr, i64 } @slice_to_string__i64(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.914: ; preds = %match.arm.518
%ua.raw284 = extractvalue { i64, i64 } %loadN, 1
%iNp285 = inttoptr i64 %ua.raw284 to ptr
%siN = insertvalue { ptr, i64 } undef, ptr %iNp285, 0
%siN = insertvalue { ptr, i64 } %siN, i64 16, 1
%callN = call { ptr, i64 } @slice_to_string__FlagValue(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.915: ; preds = %match.arm.518
%ua.raw289 = extractvalue { i64, i64 } %loadN, 1
%iNp290 = inttoptr i64 %ua.raw289 to ptr
%siN = insertvalue { ptr, i64 } undef, ptr %iNp290, 0
%siN = insertvalue { ptr, i64 } %siN, i64 8, 1
%callN = call { ptr, i64 } @slice_to_string__i64(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.916: ; preds = %match.arm.518
%ua.raw294 = extractvalue { i64, i64 } %loadN, 1
%iNp295 = inttoptr i64 %ua.raw294 to ptr
%siN = insertvalue { ptr, i64 } undef, ptr %iNp295, 0
%siN = insertvalue { ptr, i64 } %siN, i64 64, 1
%callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.917: ; preds = %match.arm.518
%ua.raw299 = extractvalue { i64, i64 } %loadN, 1
%iNp300 = inttoptr i64 %ua.raw299 to ptr
%siN = insertvalue { ptr, i64 } undef, ptr %iNp300, 0
%siN = insertvalue { ptr, i64 } %siN, i64 64, 1
%callN = call { ptr, i64 } @slice_to_string__i64(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.918: ; preds = %match.arm.518
%ua.raw304 = extractvalue { i64, i64 } %loadN, 1
%iNp305 = inttoptr i64 %ua.raw304 to ptr
%siN = insertvalue { ptr, i64 } undef, ptr %iNp305, 0
%siN = insertvalue { ptr, i64 } %siN, i64 13, 1
%callN = call { ptr, i64 } @slice_to_string__u64(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.919: ; preds = %match.arm.518
%ua.raw309 = extractvalue { i64, i64 } %loadN, 1
%iNp310 = inttoptr i64 %ua.raw309 to ptr
%siN = insertvalue { ptr, i64 } undef, ptr %iNp310, 0
%siN = insertvalue { ptr, i64 } %siN, i64 1, 1
%callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.920: ; preds = %match.arm.518
%ua.raw314 = extractvalue { i64, i64 } %loadN, 1
%iNp315 = inttoptr i64 %ua.raw314 to ptr
%siN = insertvalue { ptr, i64 } undef, ptr %iNp315, 0
%siN = insertvalue { ptr, i64 } %siN, i64 2, 1
%callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.921: ; preds = %match.arm.518
%ua.raw319 = extractvalue { i64, i64 } %loadN, 1
%iNp320 = inttoptr i64 %ua.raw319 to ptr
%siN = insertvalue { ptr, i64 } undef, ptr %iNp320, 0
%siN = insertvalue { ptr, i64 } %siN, i64 4, 1
%callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.922: ; preds = %match.arm.518
%ua.raw324 = extractvalue { i64, i64 } %loadN, 1
%iNp325 = inttoptr i64 %ua.raw324 to ptr
%siN = insertvalue { ptr, i64 } undef, ptr %iNp325, 0
%siN = insertvalue { ptr, i64 } %siN, i64 5, 1
%callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.case.923: ; preds = %match.arm.518
%ua.raw329 = extractvalue { i64, i64 } %loadN, 1
%iNp330 = inttoptr i64 %ua.raw329 to ptr
%siN = insertvalue { ptr, i64 } undef, ptr %iNp330, 0
%siN = insertvalue { ptr, i64 } %siN, i64 3, 1
%callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %siN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.911
dispatch.merge.954: ; preds = %dispatch.case.961, %dispatch.case.960, %dispatch.case.959, %dispatch.case.958, %dispatch.case.957, %dispatch.case.956, %dispatch.default.955
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
store { ptr, i64 } %loadN, ptr %allocaN, align 8
br label %match.merge.508
dispatch.default.955: ; preds = %match.arm.519
store { ptr, i64 } { ptr @str.538, i64 0 }, ptr %allocaN, align 8
br label %dispatch.merge.954
dispatch.case.956: ; preds = %match.arm.519
%ua.raw335 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr336 = inttoptr i64 %ua.raw335 to ptr
%ua.load337 = load { ptr, i64 }, ptr %ua.ptr336, align 8
%callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load337)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.954
dispatch.case.957: ; preds = %match.arm.519
%ua.raw339 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr340 = inttoptr i64 %ua.raw339 to ptr
%ua.load341 = load { ptr, i64 }, ptr %ua.ptr340, align 8
%callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load341)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.954
dispatch.case.958: ; preds = %match.arm.519
%ua.raw343 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr344 = inttoptr i64 %ua.raw343 to ptr
%ua.load345 = load { ptr, i64 }, ptr %ua.ptr344, align 8
%callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load345)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.954
dispatch.case.959: ; preds = %match.arm.519
%ua.raw347 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr348 = inttoptr i64 %ua.raw347 to ptr
%ua.load349 = load { ptr, i64 }, ptr %ua.ptr348, align 8
%callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load349)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.954
dispatch.case.960: ; preds = %match.arm.519
%ua.raw351 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr352 = inttoptr i64 %ua.raw351 to ptr
%ua.load353 = load { ptr, i64 }, ptr %ua.ptr352, align 8
%callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load353)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.954
dispatch.case.961: ; preds = %match.arm.519
%ua.raw355 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr356 = inttoptr i64 %ua.raw355 to ptr
%ua.load357 = load { ptr, i64 }, ptr %ua.ptr356, align 8
%callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load357)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.954
dispatch.merge.977: ; preds = %dispatch.case.1054, %dispatch.case.1053, %dispatch.case.1052, %dispatch.case.1051, %dispatch.case.1050, %dispatch.case.1049, %dispatch.case.1048, %dispatch.case.1047, %dispatch.case.1046, %dispatch.case.1045, %dispatch.case.1044, %dispatch.case.1043, %dispatch.case.1042, %dispatch.case.1041, %dispatch.case.1040, %dispatch.case.1039, %dispatch.case.1038, %dispatch.case.1037, %dispatch.case.1036, %dispatch.case.1035, %dispatch.case.1034, %dispatch.case.1033, %dispatch.case.1032, %dispatch.case.1031, %dispatch.case.1030, %dispatch.case.1029, %dispatch.case.1028, %dispatch.case.1027, %dispatch.case.1026, %dispatch.case.1025, %dispatch.case.1024, %dispatch.case.1023, %dispatch.case.1022, %dispatch.case.1021, %dispatch.case.1020, %dispatch.case.1019, %dispatch.case.1018, %dispatch.case.1017, %dispatch.case.1016, %dispatch.case.1015, %dispatch.case.1014, %dispatch.case.1013, %dispatch.case.1012, %dispatch.case.1011, %dispatch.case.1010, %dispatch.case.1009, %dispatch.case.1008, %dispatch.case.1007, %dispatch.case.1006, %dispatch.case.1005, %dispatch.case.1004, %dispatch.case.1003, %dispatch.case.1002, %dispatch.case.1001, %dispatch.case.1000, %dispatch.case.999, %dispatch.case.998, %dispatch.case.997, %dispatch.case.996, %dispatch.case.995, %dispatch.case.994, %dispatch.case.993, %dispatch.case.992, %dispatch.case.991, %dispatch.case.990, %dispatch.case.989, %dispatch.case.988, %dispatch.case.987, %dispatch.case.986, %dispatch.case.985, %dispatch.case.984, %dispatch.case.983, %dispatch.case.982, %dispatch.case.981, %dispatch.case.980, %dispatch.case.979, %dispatch.default.978
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
store { ptr, i64 } %loadN, ptr %allocaN, align 8
br label %match.merge.508
dispatch.default.978: ; preds = %match.arm.520
store { ptr, i64 } { ptr @str.539, i64 0 }, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.979: ; preds = %match.arm.520
%ua.raw360 = extractvalue { i64, i64 } %loadN, 1
%iNp361 = inttoptr i64 %ua.raw360 to ptr
%callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp361)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.980: ; preds = %match.arm.520
%ua.raw363 = extractvalue { i64, i64 } %loadN, 1
%iNp364 = inttoptr i64 %ua.raw363 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp364)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.981: ; preds = %match.arm.520
%ua.raw366 = extractvalue { i64, i64 } %loadN, 1
%iNp367 = inttoptr i64 %ua.raw366 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp367)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.982: ; preds = %match.arm.520
%ua.raw369 = extractvalue { i64, i64 } %loadN, 1
%iNp370 = inttoptr i64 %ua.raw369 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_CBlockingIo(ptr %0, ptr %iNp370)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.983: ; preds = %match.arm.520
%ua.raw372 = extractvalue { i64, i64 } %loadN, 1
%iNp373 = inttoptr i64 %ua.raw372 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp373)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.984: ; preds = %match.arm.520
%ua.raw375 = extractvalue { i64, i64 } %loadN, 1
%iNp376 = inttoptr i64 %ua.raw375 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp376)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.985: ; preds = %match.arm.520
%ua.raw378 = extractvalue { i64, i64 } %loadN, 1
%iNp379 = inttoptr i64 %ua.raw378 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp379)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.986: ; preds = %match.arm.520
%ua.raw381 = extractvalue { i64, i64 } %loadN, 1
%iNp382 = inttoptr i64 %ua.raw381 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp382)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.987: ; preds = %match.arm.520
%ua.raw384 = extractvalue { i64, i64 } %loadN, 1
%iNp385 = inttoptr i64 %ua.raw384 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp385)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.988: ; preds = %match.arm.520
%ua.raw387 = extractvalue { i64, i64 } %loadN, 1
%iNp388 = inttoptr i64 %ua.raw387 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp388)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.989: ; preds = %match.arm.520
%ua.raw390 = extractvalue { i64, i64 } %loadN, 1
%iNp391 = inttoptr i64 %ua.raw390 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp391)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.990: ; preds = %match.arm.520
%ua.raw393 = extractvalue { i64, i64 } %loadN, 1
%iNp394 = inttoptr i64 %ua.raw393 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp394)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.991: ; preds = %match.arm.520
%ua.raw396 = extractvalue { i64, i64 } %loadN, 1
%iNp397 = inttoptr i64 %ua.raw396 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp397)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.992: ; preds = %match.arm.520
%ua.raw399 = extractvalue { i64, i64 } %loadN, 1
%iNp400 = inttoptr i64 %ua.raw399 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp400)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.993: ; preds = %match.arm.520
%ua.raw402 = extractvalue { i64, i64 } %loadN, 1
%iNp403 = inttoptr i64 %ua.raw402 to ptr
%callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp403)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.994: ; preds = %match.arm.520
%ua.raw405 = extractvalue { i64, i64 } %loadN, 1
%iNp406 = inttoptr i64 %ua.raw405 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp406)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.995: ; preds = %match.arm.520
%ua.raw408 = extractvalue { i64, i64 } %loadN, 1
%iNp409 = inttoptr i64 %ua.raw408 to ptr
%callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp409)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.996: ; preds = %match.arm.520
%ua.raw411 = extractvalue { i64, i64 } %loadN, 1
%iNp412 = inttoptr i64 %ua.raw411 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp412)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.997: ; preds = %match.arm.520
%ua.raw414 = extractvalue { i64, i64 } %loadN, 1
%iNp415 = inttoptr i64 %ua.raw414 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp415)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.998: ; preds = %match.arm.520
%ua.raw417 = extractvalue { i64, i64 } %loadN, 1
%iNp418 = inttoptr i64 %ua.raw417 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp418)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.999: ; preds = %match.arm.520
%ua.raw420 = extractvalue { i64, i64 } %loadN, 1
%iNp421 = inttoptr i64 %ua.raw420 to ptr
%callN = call { ptr, i64 } @pointer_to_string__mptr_string(ptr %0, ptr %iNp421)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1000: ; preds = %match.arm.520
%ua.raw423 = extractvalue { i64, i64 } %loadN, 1
%iNp424 = inttoptr i64 %ua.raw423 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp424)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1001: ; preds = %match.arm.520
%ua.raw426 = extractvalue { i64, i64 } %loadN, 1
%iNp427 = inttoptr i64 %ua.raw426 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp427)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1002: ; preds = %match.arm.520
%ua.raw429 = extractvalue { i64, i64 } %loadN, 1
%iNp430 = inttoptr i64 %ua.raw429 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp430)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1003: ; preds = %match.arm.520
%ua.raw432 = extractvalue { i64, i64 } %loadN, 1
%iNp433 = inttoptr i64 %ua.raw432 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp433)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1004: ; preds = %match.arm.520
%ua.raw435 = extractvalue { i64, i64 } %loadN, 1
%iNp436 = inttoptr i64 %ua.raw435 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp436)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1005: ; preds = %match.arm.520
%ua.raw438 = extractvalue { i64, i64 } %loadN, 1
%iNp439 = inttoptr i64 %ua.raw438 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp439)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1006: ; preds = %match.arm.520
%ua.raw441 = extractvalue { i64, i64 } %loadN, 1
%iNp442 = inttoptr i64 %ua.raw441 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp442)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1007: ; preds = %match.arm.520
%ua.raw444 = extractvalue { i64, i64 } %loadN, 1
%iNp445 = inttoptr i64 %ua.raw444 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp445)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1008: ; preds = %match.arm.520
%ua.raw447 = extractvalue { i64, i64 } %loadN, 1
%iNp448 = inttoptr i64 %ua.raw447 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Pool(ptr %0, ptr %iNp448)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1009: ; preds = %match.arm.520
%ua.raw450 = extractvalue { i64, i64 } %loadN, 1
%iNp451 = inttoptr i64 %ua.raw450 to ptr
%callN = call { ptr, i64 } @pointer_to_string__mptr_Completion(ptr %0, ptr %iNp451)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1010: ; preds = %match.arm.520
%ua.raw453 = extractvalue { i64, i64 } %loadN, 1
%iNp454 = inttoptr i64 %ua.raw453 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp454)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1011: ; preds = %match.arm.520
%ua.raw456 = extractvalue { i64, i64 } %loadN, 1
%iNp457 = inttoptr i64 %ua.raw456 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_PoolState(ptr %0, ptr %iNp457)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1012: ; preds = %match.arm.520
%ua.raw459 = extractvalue { i64, i64 } %loadN, 1
%iNp460 = inttoptr i64 %ua.raw459 to ptr
%callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp460)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1013: ; preds = %match.arm.520
%ua.raw462 = extractvalue { i64, i64 } %loadN, 1
%iNp463 = inttoptr i64 %ua.raw462 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp463)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1014: ; preds = %match.arm.520
%ua.raw465 = extractvalue { i64, i64 } %loadN, 1
%iNp466 = inttoptr i64 %ua.raw465 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_usize(ptr %0, ptr %iNp466)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1015: ; preds = %match.arm.520
%ua.raw468 = extractvalue { i64, i64 } %loadN, 1
%iNp469 = inttoptr i64 %ua.raw468 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp469)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1016: ; preds = %match.arm.520
%ua.raw471 = extractvalue { i64, i64 } %loadN, 1
%iNp472 = inttoptr i64 %ua.raw471 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_MutexBuf(ptr %0, ptr %iNp472)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1017: ; preds = %match.arm.520
%ua.raw474 = extractvalue { i64, i64 } %loadN, 1
%iNp475 = inttoptr i64 %ua.raw474 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_CondBuf(ptr %0, ptr %iNp475)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1018: ; preds = %match.arm.520
%ua.raw477 = extractvalue { i64, i64 } %loadN, 1
%iNp478 = inttoptr i64 %ua.raw477 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Mutex(ptr %0, ptr %iNp478)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1019: ; preds = %match.arm.520
%ua.raw480 = extractvalue { i64, i64 } %loadN, 1
%iNp481 = inttoptr i64 %ua.raw480 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Cond(ptr %0, ptr %iNp481)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1020: ; preds = %match.arm.520
%ua.raw483 = extractvalue { i64, i64 } %loadN, 1
%iNp484 = inttoptr i64 %ua.raw483 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Thread(ptr %0, ptr %iNp484)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1021: ; preds = %match.arm.520
%ua.raw486 = extractvalue { i64, i64 } %loadN, 1
%iNp487 = inttoptr i64 %ua.raw486 to ptr
%callN = call { ptr, i64 } @pointer_to_string__mptr_PoolTask(ptr %0, ptr %iNp487)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1022: ; preds = %match.arm.520
%ua.raw489 = extractvalue { i64, i64 } %loadN, 1
%iNp490 = inttoptr i64 %ua.raw489 to ptr
%callN = call { ptr, i64 } @pointer_to_string__mptr_usize(ptr %0, ptr %iNp490)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1023: ; preds = %match.arm.520
%ua.raw492 = extractvalue { i64, i64 } %loadN, 1
%iNp493 = inttoptr i64 %ua.raw492 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_FiberCtx(ptr %0, ptr %iNp493)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1024: ; preds = %match.arm.520
%ua.raw495 = extractvalue { i64, i64 } %loadN, 1
%iNp496 = inttoptr i64 %ua.raw495 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Fiber(ptr %0, ptr %iNp496)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1025: ; preds = %match.arm.520
%ua.raw498 = extractvalue { i64, i64 } %loadN, 1
%iNp499 = inttoptr i64 %ua.raw498 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp499)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1026: ; preds = %match.arm.520
%ua.raw501 = extractvalue { i64, i64 } %loadN, 1
%iNp502 = inttoptr i64 %ua.raw501 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CBlockingIo(ptr %0, ptr %iNp502)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1027: ; preds = %match.arm.520
%ua.raw504 = extractvalue { i64, i64 } %loadN, 1
%iNp505 = inttoptr i64 %ua.raw504 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_SpawnOpts(ptr %0, ptr %iNp505)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1028: ; preds = %match.arm.520
%ua.raw507 = extractvalue { i64, i64 } %loadN, 1
%iNp508 = inttoptr i64 %ua.raw507 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_ParkToken(ptr %0, ptr %iNp508)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1029: ; preds = %match.arm.520
%ua.raw510 = extractvalue { i64, i64 } %loadN, 1
%iNp511 = inttoptr i64 %ua.raw510 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Fiber(ptr %0, ptr %iNp511)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1030: ; preds = %match.arm.520
%ua.raw513 = extractvalue { i64, i64 } %loadN, 1
%iNp514 = inttoptr i64 %ua.raw513 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_FiberCtx(ptr %0, ptr %iNp514)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1031: ; preds = %match.arm.520
%ua.raw516 = extractvalue { i64, i64 } %loadN, 1
%iNp517 = inttoptr i64 %ua.raw516 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_u64(ptr %0, ptr %iNp517)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1032: ; preds = %match.arm.520
%ua.raw519 = extractvalue { i64, i64 } %loadN, 1
%iNp520 = inttoptr i64 %ua.raw519 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_AR_13_u64(ptr %0, ptr %iNp520)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1033: ; preds = %match.arm.520
%ua.raw522 = extractvalue { i64, i64 } %loadN, 1
%iNp523 = inttoptr i64 %ua.raw522 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp523)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1034: ; preds = %match.arm.520
%ua.raw525 = extractvalue { i64, i64 } %loadN, 1
%iNp526 = inttoptr i64 %ua.raw525 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp526)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1035: ; preds = %match.arm.520
%ua.raw528 = extractvalue { i64, i64 } %loadN, 1
%iNp529 = inttoptr i64 %ua.raw528 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp529)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1036: ; preds = %match.arm.520
%ua.raw531 = extractvalue { i64, i64 } %loadN, 1
%iNp532 = inttoptr i64 %ua.raw531 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp532)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1037: ; preds = %match.arm.520
%ua.raw534 = extractvalue { i64, i64 } %loadN, 1
%iNp535 = inttoptr i64 %ua.raw534 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp535)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1038: ; preds = %match.arm.520
%ua.raw537 = extractvalue { i64, i64 } %loadN, 1
%iNp538 = inttoptr i64 %ua.raw537 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp538)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1039: ; preds = %match.arm.520
%ua.raw540 = extractvalue { i64, i64 } %loadN, 1
%iNp541 = inttoptr i64 %ua.raw540 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_BuildOptions(ptr %0, ptr %iNp541)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1040: ; preds = %match.arm.520
%ua.raw543 = extractvalue { i64, i64 } %loadN, 1
%iNp544 = inttoptr i64 %ua.raw543 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_List__string(ptr %0, ptr %iNp544)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1041: ; preds = %match.arm.520
%ua.raw546 = extractvalue { i64, i64 } %loadN, 1
%iNp547 = inttoptr i64 %ua.raw546 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_List__string(ptr %0, ptr %iNp547)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1042: ; preds = %match.arm.520
%ua.raw549 = extractvalue { i64, i64 } %loadN, 1
%iNp550 = inttoptr i64 %ua.raw549 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_Allocator(ptr %0, ptr %iNp550)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1043: ; preds = %match.arm.520
%ua.raw552 = extractvalue { i64, i64 } %loadN, 1
%iNp553 = inttoptr i64 %ua.raw552 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_mptr_string(ptr %0, ptr %iNp553)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1044: ; preds = %match.arm.520
%ua.raw555 = extractvalue { i64, i64 } %loadN, 1
%iNp556 = inttoptr i64 %ua.raw555 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_ProcessResult(ptr %0, ptr %iNp556)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1045: ; preds = %match.arm.520
%ua.raw558 = extractvalue { i64, i64 } %loadN, 1
%iNp559 = inttoptr i64 %ua.raw558 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_SL_string(ptr %0, ptr %iNp559)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1046: ; preds = %match.arm.520
%ua.raw561 = extractvalue { i64, i64 } %loadN, 1
%iNp562 = inttoptr i64 %ua.raw561 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_AR_2_string(ptr %0, ptr %iNp562)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1047: ; preds = %match.arm.520
%ua.raw564 = extractvalue { i64, i64 } %loadN, 1
%iNp565 = inttoptr i64 %ua.raw564 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_opt_cstring(ptr %0, ptr %iNp565)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1048: ; preds = %match.arm.520
%ua.raw567 = extractvalue { i64, i64 } %loadN, 1
%iNp568 = inttoptr i64 %ua.raw567 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_cstring(ptr %0, ptr %iNp568)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1049: ; preds = %match.arm.520
%ua.raw570 = extractvalue { i64, i64 } %loadN, 1
%iNp571 = inttoptr i64 %ua.raw570 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_mptr_u8(ptr %0, ptr %iNp571)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1050: ; preds = %match.arm.520
%ua.raw573 = extractvalue { i64, i64 } %loadN, 1
%iNp574 = inttoptr i64 %ua.raw573 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_isize(ptr %0, ptr %iNp574)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1051: ; preds = %match.arm.520
%ua.raw576 = extractvalue { i64, i64 } %loadN, 1
%iNp577 = inttoptr i64 %ua.raw576 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_AR_4_Any(ptr %0, ptr %iNp577)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1052: ; preds = %match.arm.520
%ua.raw579 = extractvalue { i64, i64 } %loadN, 1
%iNp580 = inttoptr i64 %ua.raw579 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_AR_5_Any(ptr %0, ptr %iNp580)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1053: ; preds = %match.arm.520
%ua.raw582 = extractvalue { i64, i64 } %loadN, 1
%iNp583 = inttoptr i64 %ua.raw582 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp583)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.case.1054: ; preds = %match.arm.520
%ua.raw585 = extractvalue { i64, i64 } %loadN, 1
%iNp586 = inttoptr i64 %ua.raw585 to ptr
%callN = call { ptr, i64 } @pointer_to_string__ptr_type_value(ptr %0, ptr %iNp586)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.977
dispatch.merge.1296: ; preds = %dispatch.case.1302, %dispatch.case.1301, %dispatch.case.1300, %dispatch.case.1299, %dispatch.case.1298, %dispatch.default.1297
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
store { ptr, i64 } %loadN, ptr %allocaN, align 8
br label %match.merge.508
dispatch.default.1297: ; preds = %match.arm.521
store { ptr, i64 } { ptr @str.540, i64 0 }, ptr %allocaN, align 8
br label %dispatch.merge.1296
dispatch.case.1298: ; preds = %match.arm.521
%ua.raw589 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr590 = inttoptr i64 %ua.raw589 to ptr
%ua.load591 = load { { i32 }, i1 }, ptr %ua.ptr590, align 4
%callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load591)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.1296
dispatch.case.1299: ; preds = %match.arm.521
%ua.raw593 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr594 = inttoptr i64 %ua.raw593 to ptr
%ua.load595 = load { { ptr, i64 }, i1 }, ptr %ua.ptr594, align 8
%callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load595)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.1296
dispatch.case.1300: ; preds = %match.arm.521
%ua.raw597 = extractvalue { i64, i64 } %loadN, 1
%iNp598 = inttoptr i64 %ua.raw597 to ptr
%callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp598)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.1296
dispatch.case.1301: ; preds = %match.arm.521
%ua.raw600 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr601 = inttoptr i64 %ua.raw600 to ptr
%ua.load602 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr601, align 8
%callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load602)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.1296
dispatch.case.1302: ; preds = %match.arm.521
%ua.raw604 = extractvalue { i64, i64 } %loadN, 1
%ua.ptr605 = inttoptr i64 %ua.raw604 to ptr
%ua.load606 = load { [64 x i8], i1 }, ptr %ua.ptr605, align 1
%callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load606)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %dispatch.merge.1296
}
; Function Attrs: nounwind
define internal { ptr, i64 } @build_format(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.541, i64 14 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.6
while.hdr.6: ; preds = %if.merge.11, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.7, label %while.exit.8
while.body.7: ; preds = %while.hdr.6
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %loadN
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext = zext i8 %ig.val to i64
%icmpN = icmp eq i64 %cmp.ext, 123
br i1 %icmpN, label %if.then.9, label %if.else.10
while.exit.8: ; preds = %while.hdr.6
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp slt i64 %loadN, %lenN
br i1 %icmpN, label %if.then.41, label %if.merge.42
if.then.9: ; preds = %while.body.7
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp slt i64 %add, %lenN
br i1 %icmpN, label %if.then.12, label %if.else.13
if.else.10: ; preds = %while.body.7
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data19 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr20 = getelementptr i8, ptr %ig.data19, i64 %loadN
%ig.val21 = load i8, ptr %ig.ptr20, align 1
%cmp.ext22 = zext i8 %ig.val21 to i64
%icmpN = icmp eq i64 %cmp.ext22, 125
br i1 %icmpN, label %if.then.32, label %if.else.33
if.merge.11: ; preds = %if.merge.34, %if.merge.14
br label %while.hdr.6
if.then.12: ; preds = %if.then.9
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
%ig.data27 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr28 = getelementptr i8, ptr %ig.data27, i64 %addN
%ig.val29 = load i8, ptr %ig.ptr28, align 1
%cmp.ext30 = zext i8 %ig.val29 to i64
%icmpN = icmp eq i64 %cmp.ext30, 125
br i1 %icmpN, label %if.then.15, label %if.else.16
if.else.13: ; preds = %if.then.9
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
store i64 %addN, ptr %allocaN, align 8
br label %if.merge.14
if.merge.14: ; preds = %if.merge.17, %if.else.13
br label %if.merge.11
if.then.15: ; preds = %if.then.12
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, %loadN
br i1 %icmpN, label %if.then.18, label %if.merge.19
if.else.16: ; preds = %if.then.12
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
%ig.data40 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr41 = getelementptr i8, ptr %ig.data40, i64 %addN
%ig.val42 = load i8, ptr %ig.ptr41, align 1
%cmp.ext43 = zext i8 %ig.val42 to i64
%icmpN = icmp eq i64 %cmp.ext43, 123
br i1 %icmpN, label %if.then.29, label %if.else.30
if.merge.17: ; preds = %if.merge.31, %if.merge.19
br label %if.merge.14
if.then.18: ; preds = %if.then.15
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, i64 36 })
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.543, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%sub = sub i64 %loadN, %loadN
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %sub)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 4 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.19
if.merge.19: ; preds = %if.then.18, %if.then.15
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.545, i64 43 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 5 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 2
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
store i64 %loadN, ptr %allocaN, align 8
br label %if.merge.17
if.then.29: ; preds = %if.else.16
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 36 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.548, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, %loadN
%addN = add i64 %subN, 1
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %addN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 4 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 2
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
store i64 %loadN, ptr %allocaN, align 8
br label %if.merge.31
if.else.30: ; preds = %if.else.16
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
store i64 %addN, ptr %allocaN, align 8
br label %if.merge.31
if.merge.31: ; preds = %if.else.30, %if.then.29
br label %if.merge.17
if.then.32: ; preds = %if.else.10
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp slt i64 %addN, %lenN
br i1 %icmpN, label %if.then.35, label %if.else.36
if.else.33: ; preds = %if.else.10
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
store i64 %addN, ptr %allocaN, align 8
br label %if.merge.34
if.merge.34: ; preds = %if.merge.37, %if.else.33
br label %if.merge.11
if.then.35: ; preds = %if.then.32
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
%ig.data104 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr105 = getelementptr i8, ptr %ig.data104, i64 %addN
%ig.val106 = load i8, ptr %ig.ptr105, align 1
%cmp.ext107 = zext i8 %ig.val106 to i64
%icmpN = icmp eq i64 %cmp.ext107, 125
br i1 %icmpN, label %if.then.38, label %if.else.39
if.else.36: ; preds = %if.then.32
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
store i64 %addN, ptr %allocaN, align 8
br label %if.merge.37
if.merge.37: ; preds = %if.merge.40, %if.else.36
br label %if.merge.34
if.then.38: ; preds = %if.then.35
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 36 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.551, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, %loadN
%addN = add i64 %subN, 1
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %addN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 4 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 2
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
store i64 %loadN, ptr %allocaN, align 8
br label %if.merge.40
if.else.39: ; preds = %if.then.35
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
store i64 %addN, ptr %allocaN, align 8
br label %if.merge.40
if.merge.40: ; preds = %if.else.39, %if.then.38
br label %if.merge.37
if.then.41: ; preds = %while.exit.8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 36 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.554, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %lenN, %loadN
%callN = call { ptr, i64 } @int_to_string(ptr %0, i64 %subN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 4 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.42
if.merge.42: ; preds = %if.then.41, %while.exit.8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
declare void @out.2(ptr, ptr) #0
; Function Attrs: nounwind
declare void @out.3(ptr, ptr) #0
; Function Attrs: nounwind
declare void @atomic_fence(i64) #0
; Function Attrs: nounwind
declare i32 @clock_gettime(i32, ptr) #0
; Function Attrs: nounwind
declare i64 @now_secs(ptr) #0
; Function Attrs: nounwind
declare i64 @mono_ms(ptr) #0
; Function Attrs: nounwind
define internal ptr @CBlockingIo.spawn_raw(ptr %0, ptr %1, ptr %2, ptr %3, { i64 } %4) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca ptr, align 8
store ptr %2, ptr %allocaN, align 8
%allocaN = alloca ptr, align 8
store ptr %3, ptr %allocaN, align 8
%allocaN = alloca { i64 }, align 8
store { i64 } %4, ptr %allocaN, align 8
ret ptr null
}
; Function Attrs: nounwind
define internal i32 @CBlockingIo.suspend_raw(ptr %0, ptr %1, { ptr } %2) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca { ptr }, align 8
store { ptr } %2, ptr %allocaN, align 8
ret i32 0
}
; Function Attrs: nounwind
define internal void @CBlockingIo.ready(ptr %0, ptr %1, { ptr } %2) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca { ptr }, align 8
store { ptr } %2, ptr %allocaN, align 8
ret void
}
; Function Attrs: nounwind
define internal i64 @CBlockingIo.poll(ptr %0, ptr %1, i64 %2) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %2, ptr %allocaN, align 8
ret i64 0
}
; Function Attrs: nounwind
define internal i64 @CBlockingIo.now_ms(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%call = call i64 @mono_ms.108(ptr %0)
ret i64 %call
}
; Function Attrs: nounwind
define internal ptr @CBlockingIo.arm_timer(ptr %0, ptr %1, i64 %2, { ptr } %3) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %2, ptr %allocaN, align 8
%allocaN = alloca { ptr }, align 8
store { ptr } %3, ptr %allocaN, align 8
ret ptr null
}
; Function Attrs: nounwind
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
; Function Attrs: nounwind
define internal ptr @CAllocator.alloc_bytes(ptr %0, ptr %1, i64 %2) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %2, ptr %allocaN, align 8
%load = load i64, ptr %allocaN, align 8
%call = call ptr @malloc(i64 %load)
ret ptr %call
}
; Function Attrs: nounwind
define internal void @CAllocator.dealloc_bytes(ptr %0, ptr %1, ptr %2) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca ptr, align 8
store ptr %2, ptr %allocaN, align 8
%load = load ptr, ptr %allocaN, align 8
call void @free(ptr %load)
ret void
}
; Function Attrs: nounwind
declare i64 @GPA.init(ptr) #0
; Function Attrs: nounwind
declare ptr @GPA.alloc_bytes(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @GPA.dealloc_bytes(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @Arena.add_chunk(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Arena.init(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Arena.reset(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Arena.deinit(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @Arena.alloc_bytes(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Arena.dealloc_bytes(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @BufAlloc.init(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @BufAlloc.reset(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @BufAlloc.alloc_bytes(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @BufAlloc.dealloc_bytes(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @TrackingAllocator.init(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @TrackingAllocator.leak_count(ptr, ptr) #0
; Function Attrs: nounwind
declare void @TrackingAllocator.report(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @TrackingAllocator.alloc_bytes(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @TrackingAllocator.dealloc_bytes(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @open(ptr, i32, ...) #0
; Function Attrs: nounwind
declare i32 @close(i32) #0
; Function Attrs: nounwind
declare i64 @read(i32, ptr, i64) #0
; Function Attrs: nounwind
declare i64 @lseek(i32, i64, i32) #0
; Function Attrs: nounwind
declare i32 @unlink(ptr) #0
; Function Attrs: nounwind
declare i32 @rmdir(ptr) #0
; Function Attrs: nounwind
declare i32 @mkdir(ptr, i32) #0
; Function Attrs: nounwind
declare i32 @access(ptr, i32) #0
; Function Attrs: nounwind
declare i32 @chmod(ptr, i32) #0
; Function Attrs: nounwind
declare i32 @rename(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @File.is_valid(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @File.close(ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.read(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.write(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.seek(ptr, ptr, i64, i64) #0
; Function Attrs: nounwind
declare i32 @mode_to_flags(ptr, i64) #0
; Function Attrs: nounwind
declare i64 @open_file(ptr, ptr, i64) #0
; Function Attrs: nounwind
define internal { { ptr, i64 }, i1 } @read_file(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%ca.decay = extractvalue { ptr, i64 } %load, 0
%call = call i32 (ptr, i32, ...) @open(ptr %ca.decay, i32 0, i64 0)
%allocaN = alloca i32, align 4
store i32 %call, ptr %allocaN, align 4
%loadN = load i32, ptr %allocaN, align 4
%cmp.ext = sext i32 %loadN to i64
%icmp = icmp slt i64 %cmp.ext, 0
br i1 %icmp, label %if.then.409, label %if.merge.410
if.then.409: ; preds = %entry
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.410: ; preds = %entry
%loadN = load i32, ptr %allocaN, align 4
%callN = call i64 @lseek(i32 %loadN, i64 0, i32 2)
store i64 %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp slt i64 %loadN, 0
br i1 %icmpN, label %if.then.411, label %if.merge.412
if.then.411: ; preds = %if.merge.410
%loadN = load i32, ptr %allocaN, align 4
%callN = call i32 @close(i32 %loadN)
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.412: ; preds = %if.merge.410
%loadN = load i32, ptr %allocaN, align 4
%callN = call i64 @lseek(i32 %loadN, i64 0, i32 0)
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i32, ptr %allocaN, align 4
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%loadN = load i64, ptr %allocaN, align 8
%callN = call i64 @read(i32 %loadN, ptr %dptr, i64 %loadN)
store i64 %callN, ptr %allocaN, align 8
%loadN = load i32, ptr %allocaN, align 4
%callN = call i32 @close(i32 %loadN)
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp ne i64 %loadN, %loadN
br i1 %icmpN, label %if.then.413, label %if.merge.414
if.then.413: ; preds = %if.merge.412
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.414: ; preds = %if.merge.412
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ow.val = insertvalue { { ptr, i64 }, i1 } undef, { ptr, i64 } %loadN, 0
%ow.has = insertvalue { { ptr, i64 }, i1 } %ow.val, i1 true, 1
ret { { ptr, i64 }, i1 } %ow.has
}
; Function Attrs: nounwind
define internal i1 @write_file(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%ca.decay = extractvalue { ptr, i64 } %load, 0
%call = call i32 (ptr, i32, ...) @open(ptr %ca.decay, i32 1537, i64 420)
%allocaN = alloca i32, align 4
store i32 %call, ptr %allocaN, align 4
%loadN = load i32, ptr %allocaN, align 4
%cmp.ext = sext i32 %loadN to i64
%icmp = icmp slt i64 %cmp.ext, 0
br i1 %icmp, label %if.then.241, label %if.merge.242
if.then.241: ; preds = %entry
ret i1 false
if.merge.242: ; preds = %entry
%loadN = load i32, ptr %allocaN, align 4
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%callN = call i64 @write(i32 %loadN, ptr %dptr, i64 %len)
store i64 %callN, ptr %allocaN, align 8
%loadN = load i32, ptr %allocaN, align 4
%callN = call i32 @close(i32 %loadN)
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp eq i64 %loadN, %lenN
ret i1 %icmpN
}
; Function Attrs: nounwind
declare i1 @append_file(ptr, ptr, ptr) #0
; Function Attrs: nounwind
define internal i1 @exists(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%ca.decay = extractvalue { ptr, i64 } %load, 0
%call = call i32 @access(ptr %ca.decay, i32 0)
%cmp.ext = sext i32 %call to i64
%icmp = icmp eq i64 %cmp.ext, 0
ret i1 %icmp
}
; Function Attrs: nounwind
define internal i1 @delete_file(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%ca.decay = extractvalue { ptr, i64 } %load, 0
%call = call i32 @unlink(ptr %ca.decay)
%cmp.ext = sext i32 %call to i64
%icmp = icmp eq i64 %cmp.ext, 0
ret i1 %icmp
}
; Function Attrs: nounwind
declare i1 @delete_dir(ptr, ptr) #0
; Function Attrs: nounwind
define internal i1 @create_dir(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%ca.decay = extractvalue { ptr, i64 } %load, 0
%call = call i32 @mkdir(ptr %ca.decay, i32 493)
%cmp.ext = sext i32 %call to i64
%icmp = icmp eq i64 %cmp.ext, 0
ret i1 %icmp
}
; Function Attrs: nounwind
define internal i1 @set_mode(ptr %0, { ptr, i64 } %1, i32 %2) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca i32, align 4
store i32 %2, ptr %allocaN, align 4
%load = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i32, ptr %allocaN, align 4
%ca.decay = extractvalue { ptr, i64 } %load, 0
%call = call i32 @chmod(ptr %ca.decay, i32 %loadN)
%cmp.ext = sext i32 %call to i64
%icmp = icmp eq i64 %cmp.ext, 0
ret i1 %icmp
}
; Function Attrs: nounwind
declare i1 @move(ptr, ptr, ptr) #0
; Function Attrs: nounwind
define internal i1 @create_dir_all(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %load, 1
%icmp = icmp eq i64 %len, 0
br i1 %icmp, label %if.then.151, label %if.merge.152
if.then.151: ; preds = %entry
ret i1 true
if.merge.152: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%call = call i1 @exists(ptr %0, { ptr, i64 } %loadN)
br i1 %call, label %if.then.153, label %if.merge.154
if.then.153: ; preds = %if.merge.152
ret i1 true
if.merge.154: ; preds = %if.merge.152
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%sub = sub i64 %lenN, 1
store i64 %sub, ptr %allocaN, align 8
br label %while.hdr.155
while.hdr.155: ; preds = %if.merge.159, %if.merge.154
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %while.body.156, label %while.exit.157
while.body.156: ; preds = %while.hdr.155
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %loadN
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext = zext i8 %ig.val to i64
%icmpN = icmp eq i64 %cmp.ext, 47
br i1 %icmpN, label %if.then.158, label %if.merge.159
while.exit.157: ; preds = %if.then.158, %while.hdr.155
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.160, label %if.merge.161
if.then.158: ; preds = %while.body.156
br label %while.exit.157
if.merge.159: ; preds = %while.body.156
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
store i64 %subN, ptr %allocaN, align 8
br label %while.hdr.155
if.then.160: ; preds = %while.exit.157
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%dptrN = extractvalue { ptr, i64 } %loadN, 0
%loadN = load i64, ptr %allocaN, align 8
%callN = call ptr @memcpy(ptr %dptr, ptr %dptrN, i64 %loadN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call i1 @create_dir_all(ptr %0, { ptr, i64 } %loadN)
%lnot = xor i1 %callN, true
br i1 %lnot, label %if.then.162, label %if.merge.163
if.merge.161: ; preds = %if.merge.163, %while.exit.157
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call i1 @create_dir(ptr %0, { ptr, i64 } %loadN)
ret i1 %callN
if.then.162: ; preds = %if.then.160
ret i1 false
if.merge.163: ; preds = %if.then.160
br label %if.merge.161
}
; Function Attrs: nounwind
define internal i1 @copy_file(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca i32, align 4
%allocaN = alloca i1, align 1
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i1, align 1
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%ca.decay = extractvalue { ptr, i64 } %load, 0
%call = call i32 (ptr, i32, ...) @open(ptr %ca.decay, i32 0, i64 0)
%allocaN = alloca i32, align 4
store i32 %call, ptr %allocaN, align 4
%loadN = load i32, ptr %allocaN, align 4
%cmp.ext = sext i32 %loadN to i64
%icmp = icmp slt i64 %cmp.ext, 0
br i1 %icmp, label %if.then.178, label %if.merge.179
if.then.178: ; preds = %entry
ret i1 false
if.merge.179: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ca.decay5 = extractvalue { ptr, i64 } %loadN, 0
%callN = call i32 (ptr, i32, ...) @open(ptr %ca.decay5, i32 1537, i64 420)
store i32 %callN, ptr %allocaN, align 4
%loadN = load i32, ptr %allocaN, align 4
%cmp.ext9 = sext i32 %loadN to i64
%icmpN = icmp slt i64 %cmp.ext9, 0
br i1 %icmpN, label %if.then.180, label %if.merge.181
if.then.180: ; preds = %if.merge.179
%loadN = load i32, ptr %allocaN, align 4
%callN = call i32 @close(i32 %loadN)
ret i1 false
if.merge.181: ; preds = %if.merge.179
store i1 true, ptr %allocaN, align 1
%callN = call { ptr, i64 } @alloc_string(ptr %0, i64 65536)
store { ptr, i64 } %callN, ptr %allocaN, align 8
store i1 true, ptr %allocaN, align 1
br label %while.hdr.182
while.hdr.182: ; preds = %if.merge.190, %if.merge.181
%loadN = load i1, ptr %allocaN, align 1
br i1 %loadN, label %while.body.183, label %while.exit.184
while.body.183: ; preds = %while.hdr.182
%loadN = load i32, ptr %allocaN, align 4
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%callN = call i64 @read(i32 %loadN, ptr %dptr, i64 65536)
store i64 %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp slt i64 %loadN, 0
br i1 %icmpN, label %if.then.185, label %if.merge.186
while.exit.184: ; preds = %while.hdr.182
%loadN = load i32, ptr %allocaN, align 4
%callN = call i32 @close(i32 %loadN)
%loadN = load i32, ptr %allocaN, align 4
%callN = call i32 @close(i32 %loadN)
%loadN = load i1, ptr %allocaN, align 1
ret i1 %loadN
if.then.185: ; preds = %while.body.183
store i1 false, ptr %allocaN, align 1
store i1 false, ptr %allocaN, align 1
br label %if.merge.186
if.merge.186: ; preds = %if.then.185, %while.body.183
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp eq i64 %loadN, 0
br i1 %icmpN, label %if.then.187, label %if.merge.188
if.then.187: ; preds = %if.merge.186
store i1 false, ptr %allocaN, align 1
br label %if.merge.188
if.merge.188: ; preds = %if.then.187, %if.merge.186
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.189, label %if.merge.190
if.then.189: ; preds = %if.merge.188
%loadN = load i32, ptr %allocaN, align 4
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptrN = extractvalue { ptr, i64 } %loadN, 0
%loadN = load i64, ptr %allocaN, align 8
%callN = call i64 @write(i32 %loadN, ptr %dptrN, i64 %loadN)
store i64 %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp ne i64 %loadN, %loadN
br i1 %icmpN, label %if.then.191, label %if.merge.192
if.merge.190: ; preds = %if.merge.192, %if.merge.188
br label %while.hdr.182
if.then.191: ; preds = %if.then.189
store i1 false, ptr %allocaN, align 1
store i1 false, ptr %allocaN, align 1
br label %if.merge.192
if.merge.192: ; preds = %if.then.191, %if.then.189
br label %if.merge.190
}
; Function Attrs: nounwind
define internal { ptr, i64 } @basename(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %load, 1
%icmp = icmp eq i64 %len, 0
br i1 %icmp, label %if.then.166, label %if.merge.167
if.then.166: ; preds = %entry
ret { ptr, i64 } { ptr @str.556, i64 0 }
if.merge.167: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%sub = sub i64 %lenN, 1
store i64 %sub, ptr %allocaN, align 8
br label %while.hdr.168
while.hdr.168: ; preds = %if.merge.172, %if.merge.167
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %while.body.169, label %while.exit.170
while.body.169: ; preds = %while.hdr.168
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %loadN
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext = zext i8 %ig.val to i64
%icmpN = icmp ne i64 %cmp.ext, 47
br i1 %icmpN, label %if.then.171, label %if.merge.172
while.exit.170: ; preds = %if.then.171, %while.hdr.168
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.173
if.then.171: ; preds = %while.body.169
br label %while.exit.170
if.merge.172: ; preds = %while.body.169
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
store i64 %subN, ptr %allocaN, align 8
br label %while.hdr.168
while.hdr.173: ; preds = %if.merge.177, %while.exit.170
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %while.body.174, label %while.exit.175
while.body.174: ; preds = %while.hdr.173
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
%ig.data18 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr19 = getelementptr i8, ptr %ig.data18, i64 %subN
%ig.val20 = load i8, ptr %ig.ptr19, align 1
%cmp.ext21 = zext i8 %ig.val20 to i64
%icmpN = icmp eq i64 %cmp.ext21, 47
br i1 %icmpN, label %if.then.176, label %if.merge.177
while.exit.175: ; preds = %while.hdr.173
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %loadN)
ret { ptr, i64 } %call
if.then.176: ; preds = %while.body.174
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, %loadN
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %subN)
ret { ptr, i64 } %callN
if.merge.177: ; preds = %while.body.174
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
store i64 %subN, ptr %allocaN, align 8
br label %while.hdr.173
}
; Function Attrs: nounwind
declare ptr @dirname(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @spaces(ptr, i32) #0
; Function Attrs: nounwind
declare i32 @sx_trace_len() #0
; Function Attrs: nounwind
declare i32 @sx_trace_truncated() #0
; Function Attrs: nounwind
declare i64 @sx_trace_frame_at(i32) #0
; Function Attrs: nounwind
declare ptr @to_string(ptr) #0
; Function Attrs: nounwind
declare void @print_current(ptr) #0
; Function Attrs: nounwind
declare void @print_interpreter_frames(ptr) #0
; Function Attrs: nounwind
declare ptr @popen(ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @pclose(ptr) #0
; Function Attrs: nounwind
declare i64 @fread(ptr, i64, i64, ptr) #0
; Function Attrs: nounwind
declare i32 @feof(ptr) #0
; Function Attrs: nounwind
declare ptr @getenv(ptr) #0
; Function Attrs: nounwind
declare i32 @system(ptr) #0
; Function Attrs: nounwind
define internal { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i1, align 1
%allocaN = alloca i64, align 8
%allocaN = alloca i32, align 4
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i32, align 4
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%ca.decay = extractvalue { ptr, i64 } %load, 0
%call = call ptr @popen(ptr %ca.decay, ptr @str.557)
%allocaN = alloca ptr, align 8
store ptr %call, ptr %allocaN, align 8
%loadN = load ptr, ptr %allocaN, align 8
%pti = ptrtoint ptr %loadN to i64
%icmp = icmp eq i64 %pti, 0
br i1 %icmp, label %if.then.66, label %if.merge.67
if.then.66: ; preds = %entry
ret { { i32, { ptr, i64 } }, i1 } zeroinitializer
if.merge.67: ; preds = %entry
store { ptr, i64 } { ptr @str.558, i64 0 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @alloc_string(ptr %0, i64 4096)
store { ptr, i64 } %callN, ptr %allocaN, align 8
store i1 true, ptr %allocaN, align 1
br label %while.hdr.68
while.hdr.68: ; preds = %if.merge.74, %if.merge.67
%loadN = load i1, ptr %allocaN, align 1
br i1 %loadN, label %while.body.69, label %while.exit.70
while.body.69: ; preds = %while.hdr.68
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%loadN = load ptr, ptr %allocaN, align 8
%callN = call i64 @fread(ptr %dptr, i64 1, i64 4096, ptr %loadN)
store i64 %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp eq i64 %loadN, 0
br i1 %icmpN, label %if.then.71, label %if.merge.72
while.exit.70: ; preds = %while.hdr.68
%loadN = load ptr, ptr %allocaN, align 8
%callN = call i32 @pclose(ptr %loadN)
store i32 %callN, ptr %allocaN, align 4
%loadN = load i32, ptr %allocaN, align 4
%cmp.ext = sext i32 %loadN to i64
%icmpN = icmp slt i64 %cmp.ext, 0
br i1 %icmpN, label %if.then.75, label %if.merge.76
if.then.71: ; preds = %while.body.69
store i1 false, ptr %allocaN, align 1
br label %if.merge.72
if.merge.72: ; preds = %if.then.71, %while.body.69
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.73, label %if.merge.74
if.then.73: ; preds = %if.merge.72
store { ptr, i64 } undef, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptrN = extractvalue { ptr, i64 } %loadN, 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %dptrN, ptr %gep, align 8
%loadN = load i64, ptr %allocaN, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 %loadN, ptr %gepN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.74
if.merge.74: ; preds = %if.then.73, %if.merge.72
br label %while.hdr.68
if.then.75: ; preds = %while.exit.70
ret { { i32, { ptr, i64 } }, i1 } zeroinitializer
if.merge.76: ; preds = %while.exit.70
%loadN = load i32, ptr %allocaN, align 4
%ashr = ashr i32 %loadN, 8
%and = and i32 %ashr, 255
store i32 %and, ptr %allocaN, align 4
%loadN = load i32, ptr %allocaN, align 4
%cmp.ext32 = sext i32 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext32, 0
br i1 %icmpN, label %if.then.77, label %if.merge.78
if.then.77: ; preds = %if.merge.76
%loadN = load i32, ptr %allocaN, align 4
%andN = and i32 %loadN, 127
%cmp.ext36 = sext i32 %andN to i64
%icmpN = icmp ne i64 %cmp.ext36, 0
br i1 %icmpN, label %if.then.79, label %if.merge.80
if.merge.78: ; preds = %if.merge.80, %if.merge.76
%loadN = load i32, ptr %allocaN, align 4
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%si = insertvalue { i32, { ptr, i64 } } undef, i32 %loadN, 0
%siN = insertvalue { i32, { ptr, i64 } } %si, { ptr, i64 } %loadN, 1
%ow.val = insertvalue { { i32, { ptr, i64 } }, i1 } undef, { i32, { ptr, i64 } } %siN, 0
%ow.has = insertvalue { { i32, { ptr, i64 } }, i1 } %ow.val, i1 true, 1
ret { { i32, { ptr, i64 } }, i1 } %ow.has
if.then.79: ; preds = %if.then.77
%loadN = load i32, ptr %allocaN, align 4
%andN = and i32 %loadN, 127
%ca.ext = zext i32 %andN to i64
%add = add i64 128, %ca.ext
%trunc = trunc i64 %add to i32
store i32 %trunc, ptr %allocaN, align 4
br label %if.merge.80
if.merge.80: ; preds = %if.then.79, %if.then.77
br label %if.merge.78
}
; Function Attrs: nounwind
define internal { { ptr, i64 }, i1 } @env(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%call = call ptr @to_cstring(ptr %0, { ptr, i64 } %load)
%callN = call ptr @getenv(ptr %call)
%allocaN = alloca ptr, align 8
store ptr %callN, ptr %allocaN, align 8
%loadN = load ptr, ptr %allocaN, align 8
%oh.nn = icmp ne ptr %loadN, null
%lnot = xor i1 %oh.nn, true
br i1 %lnot, label %if.then.105, label %if.merge.106
if.then.105: ; preds = %entry
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.106: ; preds = %entry
%loadN = load ptr, ptr %allocaN, align 8
%callN = call { ptr, i64 } @from_cstring(ptr %0, ptr %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp eq i64 %len, 0
br i1 %icmp, label %if.then.110, label %if.merge.111
if.then.110: ; preds = %if.merge.106
ret { { ptr, i64 }, i1 } { { ptr, i64 } { ptr @str.559, i64 0 }, i1 true }
if.merge.111: ; preds = %if.merge.106
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %lenN)
%ow.val = insertvalue { { ptr, i64 }, i1 } undef, { ptr, i64 } %callN, 0
%ow.has = insertvalue { { ptr, i64 }, i1 } %ow.val, i1 true, 1
ret { { ptr, i64 }, i1 } %ow.has
}
; Function Attrs: nounwind
define internal { { ptr, i64 }, i1 } @find_executable(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.560, i64 11 }, { ptr, i64 } %load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %len)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptrN = extractvalue { ptr, i64 } %loadN, 0
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%callN = call ptr @memcpy(ptr %dptr, ptr %dptrN, i64 %lenN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %loadN)
%oh.has = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has, label %if.then.255, label %if.merge.256
if.then.255: ; preds = %entry
%ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sg = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext = sext i32 %sg to i64
%icmp = icmp ne i64 %cmp.ext, 0
br i1 %icmp, label %if.then.257, label %if.merge.258
if.merge.256: ; preds = %entry
ret { { ptr, i64 }, i1 } zeroinitializer
if.then.257: ; preds = %if.then.255
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.258: ; preds = %if.then.255
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
store { ptr, i64 } %sgN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp sgt i64 %lenN, 0
br i1 %icmpN, label %if.then.259, label %if.merge.260
if.then.259: ; preds = %if.merge.258
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%sub = sub i64 %lenN, 1
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %sub
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext24 = zext i8 %ig.val to i64
%icmpN = icmp eq i64 %cmp.ext24, 10
br i1 %icmpN, label %if.then.261, label %if.merge.262
if.merge.260: ; preds = %if.merge.262, %if.merge.258
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp eq i64 %lenN, 0
br i1 %icmpN, label %if.then.263, label %if.merge.264
if.then.261: ; preds = %if.then.259
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.262
if.merge.262: ; preds = %if.then.261, %if.then.259
br label %if.merge.260
if.then.263: ; preds = %if.merge.260
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.264: ; preds = %if.merge.260
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ow.val = insertvalue { { ptr, i64 }, i1 } undef, { ptr, i64 } %loadN, 0
%ow.has = insertvalue { { ptr, i64 }, i1 } %ow.val, i1 true, 1
ret { { ptr, i64 }, i1 } %ow.has
}
; Function Attrs: nounwind
declare void @_exit(i32) #0
; Function Attrs: nounwind
declare void @exit(ptr, i8, ptr) #0
; Function Attrs: nounwind
declare void @assert(ptr, i1, ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @socket(i32, i32, i32) #0
; Function Attrs: nounwind
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
; Function Attrs: nounwind
declare i32 @bind(i32, ptr, i32) #0
; Function Attrs: nounwind
declare i32 @listen(i32, i32) #0
; Function Attrs: nounwind
declare i32 @accept(i32, ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @connect(i32, ptr, i32) #0
; Function Attrs: nounwind
declare i32 @shutdown(i32, i32) #0
; Function Attrs: nounwind
declare i32 @socketpair(i32, i32, i32, ptr) #0
; Function Attrs: nounwind
declare i32 @fcntl(i32, i32, ...) #0
; Function Attrs: nounwind
declare i16 @htons(ptr, i64) #0
; Function Attrs: nounwind
declare ptr @__error() #0
; Function Attrs: nounwind
declare i32 @errno(ptr) #0
; Function Attrs: nounwind
declare i1 @is_wouldblock(ptr, i32) #0
; Function Attrs: nounwind
declare i1 @set_nonblocking(ptr, i32) #0
; Function Attrs: nounwind
declare i64 @accept_nb(ptr, i32) #0
; Function Attrs: nounwind
declare [2 x i64] @read_nb(ptr, i32, ptr, i64) #0
; Function Attrs: nounwind
declare [2 x i64] @write_nb(ptr, i32, ptr, i64) #0
; Function Attrs: nounwind
declare ptr @mem_realloc.4(ptr, ptr, ptr, i64, i64, i64) #0
; Function Attrs: nounwind
declare ptr @CAllocator.alloc_bytes.5(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @CAllocator.dealloc_bytes.6(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @GPA.init.7(ptr) #0
; Function Attrs: nounwind
declare ptr @GPA.alloc_bytes.8(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @GPA.dealloc_bytes.9(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @Arena.add_chunk.10(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Arena.init.11(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Arena.reset.12(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Arena.deinit.13(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @Arena.alloc_bytes.14(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Arena.dealloc_bytes.15(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @BufAlloc.init.16(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @BufAlloc.reset.17(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @BufAlloc.alloc_bytes.18(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @BufAlloc.dealloc_bytes.19(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @TrackingAllocator.init.20(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @TrackingAllocator.leak_count.21(ptr, ptr) #0
; Function Attrs: nounwind
declare void @TrackingAllocator.report.22(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @TrackingAllocator.alloc_bytes.23(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @TrackingAllocator.dealloc_bytes.24(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @File.is_valid.25(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @File.close.26(ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.read.27(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.write.28(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.seek.29(ptr, ptr, i64, i64) #0
; Function Attrs: nounwind
declare i32 @mode_to_flags.30(ptr, i64) #0
; Function Attrs: nounwind
declare i64 @open_file.31(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare ptr @read_file.32(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @write_file.33(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @append_file.34(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @exists.35(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @delete_file.36(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @delete_dir.37(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @create_dir.38(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @set_mode.39(ptr, ptr, i32) #0
; Function Attrs: nounwind
declare i1 @move.40(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @create_dir_all.41(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @copy_file.42(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @basename.43(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @dirname.44(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Array.add(ptr, ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @Array.deinit(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @Object.deinit(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
; Function Attrs: nounwind
declare i32 @Sink.put(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @Sink.flush(ptr, ptr) #0
; Function Attrs: nounwind
declare i8 @hex_digit(ptr, i64) #0
; Function Attrs: nounwind
declare i32 @write_u_escape(ptr, i8, ptr) #0
; Function Attrs: nounwind
declare i32 @write_string(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @write_int(ptr, i64, ptr) #0
; Function Attrs: nounwind
declare i32 @write_value(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @write_array(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @write_object(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare [2 x i64] @hex_value(ptr, i8) #0
; Function Attrs: nounwind
declare i64 @encode_utf8(ptr, i64, ptr) #0
; Function Attrs: nounwind
declare void @Parser.skip_ws(ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
; Function Attrs: nounwind
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
; Function Attrs: nounwind
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
; Function Attrs: nounwind
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
; Function Attrs: nounwind
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
; Function Attrs: nounwind
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
; Function Attrs: nounwind
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
; Function Attrs: nounwind
define internal { ptr, i64 } @escape(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca i8, align 1
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.561, i64 0 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.214
while.hdr.214: ; preds = %if.merge.228, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.215, label %while.exit.216
while.body.215: ; preds = %while.hdr.214
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %loadN
%ig.val = load i8, ptr %ig.ptr, align 1
store i8 %ig.val, ptr %allocaN, align 1
store { ptr, i64 } { ptr @str.562, i64 0 }, ptr %allocaN, align 8
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext, 38
br i1 %icmpN, label %if.then.217, label %if.merge.218
while.exit.216: ; preds = %while.hdr.214
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp slt i64 %loadN, %lenN
br i1 %icmpN, label %if.then.231, label %if.merge.232
if.then.217: ; preds = %while.body.215
store { ptr, i64 } { ptr @str.563, i64 5 }, ptr %allocaN, align 8
br label %if.merge.218
if.merge.218: ; preds = %if.then.217, %while.body.215
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext16 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext16, 60
br i1 %icmpN, label %if.then.219, label %if.merge.220
if.then.219: ; preds = %if.merge.218
store { ptr, i64 } { ptr @str.564, i64 4 }, ptr %allocaN, align 8
br label %if.merge.220
if.merge.220: ; preds = %if.then.219, %if.merge.218
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext19 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext19, 62
br i1 %icmpN, label %if.then.221, label %if.merge.222
if.then.221: ; preds = %if.merge.220
store { ptr, i64 } { ptr @str.565, i64 4 }, ptr %allocaN, align 8
br label %if.merge.222
if.merge.222: ; preds = %if.then.221, %if.merge.220
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext22 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext22, 34
br i1 %icmpN, label %if.then.223, label %if.merge.224
if.then.223: ; preds = %if.merge.222
store { ptr, i64 } { ptr @str.566, i64 6 }, ptr %allocaN, align 8
br label %if.merge.224
if.merge.224: ; preds = %if.then.223, %if.merge.222
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext25 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext25, 39
br i1 %icmpN, label %if.then.225, label %if.merge.226
if.then.225: ; preds = %if.merge.224
store { ptr, i64 } { ptr @str.567, i64 6 }, ptr %allocaN, align 8
br label %if.merge.226
if.merge.226: ; preds = %if.then.225, %if.merge.224
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp sgt i64 %lenN, 0
br i1 %icmpN, label %if.then.227, label %if.merge.228
if.then.227: ; preds = %if.merge.226
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, %loadN
br i1 %icmpN, label %if.then.229, label %if.merge.230
if.merge.228: ; preds = %if.merge.230, %if.merge.226
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.214
if.then.229: ; preds = %if.then.227
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%sub = sub i64 %loadN, %loadN
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.230
if.merge.230: ; preds = %if.then.229, %if.then.227
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 1
store i64 %addN, ptr %allocaN, align 8
br label %if.merge.228
if.then.231: ; preds = %while.exit.216
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %lenN, %loadN
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %subN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.232
if.merge.232: ; preds = %if.then.231, %while.exit.216
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
declare void @c_object_paths(ptr sret({ ptr, i64, i64 })) #0
; Function Attrs: nounwind
declare void @link_libraries(ptr sret({ ptr, i64, i64 })) #0
; Function Attrs: nounwind
declare ptr @emit_object() #0
; Function Attrs: nounwind
declare ptr @build_output() #0
; Function Attrs: nounwind
declare ptr @build_target() #0
; Function Attrs: nounwind
declare void @build_frameworks(ptr sret({ ptr, i64, i64 })) #0
; Function Attrs: nounwind
declare void @build_flags(ptr sret({ ptr, i64, i64 })) #0
; Function Attrs: nounwind
declare void @link(ptr, ptr, ptr, ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @File.is_valid.45(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @File.close.46(ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.read.47(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.write.48(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.seek.49(ptr, ptr, i64, i64) #0
; Function Attrs: nounwind
declare i32 @mode_to_flags.50(ptr, i64) #0
; Function Attrs: nounwind
declare i64 @open_file.51(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare ptr @read_file.52(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @write_file.53(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @append_file.54(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @exists.55(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @delete_file.56(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @delete_dir.57(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @create_dir.58(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @set_mode.59(ptr, ptr, i32) #0
; Function Attrs: nounwind
declare i1 @move.60(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @create_dir_all.61(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @copy_file.62(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @basename.63(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @dirname.64(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @spaces.65(ptr, i32) #0
; Function Attrs: nounwind
declare ptr @to_string.66(ptr) #0
; Function Attrs: nounwind
declare void @print_current.67(ptr) #0
; Function Attrs: nounwind
declare void @print_interpreter_frames.68(ptr) #0
; Function Attrs: nounwind
declare void @run.69(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @env.70(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @find_executable.71(ptr, ptr) #0
; Function Attrs: nounwind
declare void @exit.72(ptr, i8, ptr) #0
; Function Attrs: nounwind
declare void @assert.73(ptr, i1, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @bundle_main(ptr, {}) #0
; Function Attrs: nounwind
define internal { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %load, 1
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %len)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%dptr = extractvalue { ptr, i64 } %loadN, 0
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%dptrN = extractvalue { ptr, i64 } %loadN, 0
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%callN = call ptr @memcpy(ptr %dptr, ptr %dptrN, i64 %lenN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
declare { ptr, i64 } @build_info_plist(ptr, {}, { ptr, i64 }, { ptr, i64 }) #0
; Function Attrs: nounwind
define internal i1 @embed_provisioning_profile(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { { ptr, i64 }, i1 } @read_file(ptr %0, { ptr, i64 } %loadN)
%oh.has = extractvalue { { ptr, i64 }, i1 } %callN, 1
br i1 %oh.has, label %if.then.415, label %if.merge.416
if.then.415: ; preds = %entry
%ou.val = extractvalue { { ptr, i64 }, i1 } %callN, 0
store { ptr, i64 } %ou.val, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 25 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call i1 @write_file(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
%lnot = xor i1 %callN, true
br i1 %lnot, label %if.then.417, label %if.merge.418
if.merge.416: ; preds = %entry
call void @out(ptr %0, { ptr, i64 } { ptr @str.569, i64 49 })
%loadN = load { ptr, i64 }, ptr %alloca, align 8
call void @out(ptr %0, { ptr, i64 } %loadN)
call void @out(ptr %0, { ptr, i64 } { ptr @str.570, i64 1 })
ret i1 false
if.then.417: ; preds = %if.then.415
call void @out(ptr %0, { ptr, i64 } { ptr @str.571, i64 56 })
ret i1 false
if.merge.418: ; preds = %if.then.415
ret i1 true
}
; Function Attrs: nounwind
define internal i1 @copy_asset_dir(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2, { ptr, i64 } %3) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %3, ptr %allocaN, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call i1 @exists(ptr %0, { ptr, i64 } %loadN)
%lnot = xor i1 %callN, true
br i1 %lnot, label %if.then.424, label %if.merge.425
if.then.424: ; preds = %entry
ret i1 true
if.merge.425: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 1 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call i1 @create_dir_all(ptr %0, { ptr, i64 } %loadN)
%lnotN = xor i1 %callN, true
br i1 %lnotN, label %if.then.426, label %if.merge.427
if.then.426: ; preds = %if.merge.425
call void @out(ptr %0, { ptr, i64 } { ptr @str.573, i64 41 })
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
call void @out(ptr %0, { ptr, i64 } %loadN)
call void @out(ptr %0, { ptr, i64 } { ptr @str.574, i64 2 })
ret i1 false
if.merge.427: ; preds = %if.merge.425
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.575, i64 7 }, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.576, i64 5 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, i64 6 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %loadN)
%oh.has = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has, label %if.then.428, label %if.merge.429
if.then.428: ; preds = %if.merge.427
%ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sg = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext = sext i32 %sg to i64
%icmp = icmp ne i64 %cmp.ext, 0
br i1 %icmp, label %if.then.430, label %if.merge.431
if.merge.429: ; preds = %if.merge.427
call void @out(ptr %0, { ptr, i64 } { ptr @str.578, i64 26 })
ret i1 false
if.then.430: ; preds = %if.then.428
call void @out(ptr %0, { ptr, i64 } { ptr @str.579, i64 21 })
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
call void @out(ptr %0, { ptr, i64 } %sgN)
ret i1 false
if.merge.431: ; preds = %if.then.428
ret i1 true
}
; Function Attrs: nounwind
declare i1 @embed_framework(ptr, {}, { ptr, i64 }, { ptr, i64 }) #0
; Function Attrs: nounwind
define internal { { ptr, i64 }, i1 } @extract_entitlements(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
%allocaN = alloca i8, align 1
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%call = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } { ptr @str.580, i64 7 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%load = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call i1 @create_dir_all(ptr %0, { ptr, i64 } %load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.581, i64 21 }, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.582, i64 26 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 20 }, { ptr, i64 } %loadN)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 6 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.585, i64 6 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %loadN)
%oh.has = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has, label %if.then.460, label %if.else.461
if.then.460: ; preds = %entry
%ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sg = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext = sext i32 %sg to i64
%icmp = icmp ne i64 %cmp.ext, 0
br i1 %icmp, label %if.then.463, label %if.merge.464
if.else.461: ; preds = %entry
call void @out(ptr %0, { ptr, i64 } { ptr @str.586, i64 33 })
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.462: ; preds = %if.merge.464
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.587, i64 38 }, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.588, i64 3 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.589, i64 6 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %loadN)
%oh.has38 = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has38, label %if.then.465, label %if.else.466
if.then.463: ; preds = %if.then.460
call void @out(ptr %0, { ptr, i64 } { ptr @str.590, i64 46 })
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
call void @out(ptr %0, { ptr, i64 } %sgN)
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.464: ; preds = %if.then.460
br label %if.merge.462
if.then.465: ; preds = %if.merge.462
%ou.val41 = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val41, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext45 = sext i32 %sgN to i64
%icmpN = icmp ne i64 %cmp.ext45, 0
br i1 %icmpN, label %if.then.468, label %if.merge.469
if.else.466: ; preds = %if.merge.462
call void @out(ptr %0, { ptr, i64 } { ptr @str.591, i64 35 })
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.467: ; preds = %if.merge.469
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 56 }, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.593, i64 1 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
store { ptr, i64 } { ptr @str.594, i64 0 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %loadN)
%oh.has58 = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has58, label %if.then.470, label %if.else.471
if.then.468: ; preds = %if.then.465
call void @out(ptr %0, { ptr, i64 } { ptr @str.595, i64 39 })
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
call void @out(ptr %0, { ptr, i64 } %sgN)
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.469: ; preds = %if.then.465
br label %if.merge.467
if.then.470: ; preds = %if.merge.467
%ou.val61 = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val61, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext65 = sext i32 %sgN to i64
%icmpN = icmp ne i64 %cmp.ext65, 0
br i1 %icmpN, label %if.then.473, label %if.merge.474
if.else.471: ; preds = %if.merge.467
call void @out(ptr %0, { ptr, i64 } { ptr @str.596, i64 55 })
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.472: ; preds = %while.exit.477
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp eq i64 %len, 0
br i1 %icmpN, label %if.then.490, label %if.merge.491
if.then.473: ; preds = %if.then.470
call void @out(ptr %0, { ptr, i64 } { ptr @str.597, i64 52 })
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
call void @out(ptr %0, { ptr, i64 } %sgN)
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.474: ; preds = %if.then.470
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
store { ptr, i64 } %sgN, ptr %allocaN, align 8
br label %while.hdr.475
while.hdr.475: ; preds = %if.merge.480, %if.merge.474
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp sgt i64 %lenN, 0
br i1 %icmpN, label %while.body.476, label %while.exit.477
while.body.476: ; preds = %while.hdr.475
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%sub = sub i64 %lenN, 1
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %sub
%ig.val = load i8, ptr %ig.ptr, align 1
store i8 %ig.val, ptr %allocaN, align 1
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext81 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext81, 10
br i1 %icmpN, label %if.then.478, label %if.else.479
while.exit.477: ; preds = %if.else.488, %while.hdr.475
br label %if.merge.472
if.then.478: ; preds = %while.body.476
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.480
if.else.479: ; preds = %while.body.476
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext89 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext89, 13
br i1 %icmpN, label %if.then.481, label %if.else.482
if.merge.480: ; preds = %if.merge.483, %if.then.478
br label %while.hdr.475
if.then.481: ; preds = %if.else.479
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.483
if.else.482: ; preds = %if.else.479
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext97 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext97, 32
br i1 %icmpN, label %if.then.484, label %if.else.485
if.merge.483: ; preds = %if.merge.486, %if.then.481
br label %if.merge.480
if.then.484: ; preds = %if.else.482
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.486
if.else.485: ; preds = %if.else.482
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext105 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext105, 9
br i1 %icmpN, label %if.then.487, label %if.else.488
if.merge.486: ; preds = %if.merge.489, %if.then.484
br label %if.merge.483
if.then.487: ; preds = %if.else.485
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.489
if.else.488: ; preds = %if.else.485
br label %while.exit.477
if.merge.489: ; preds = %if.then.487
br label %if.merge.486
if.then.490: ; preds = %if.merge.472
call void @out(ptr %0, { ptr, i64 } { ptr @str.598, i64 66 })
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.491: ; preds = %if.merge.472
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.599, i64 1 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 48 }, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 3 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 6 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %loadN)
%oh.has133 = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has133, label %if.then.492, label %if.else.493
if.then.492: ; preds = %if.merge.491
%ou.val134 = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val134, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext138 = sext i32 %sgN to i64
%icmpN = icmp ne i64 %cmp.ext138, 0
br i1 %icmpN, label %if.then.495, label %if.merge.496
if.else.493: ; preds = %if.merge.491
call void @out(ptr %0, { ptr, i64 } { ptr @str.603, i64 35 })
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.494: ; preds = %if.merge.496
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ow.val = insertvalue { { ptr, i64 }, i1 } undef, { ptr, i64 } %loadN, 0
%ow.has = insertvalue { { ptr, i64 }, i1 } %ow.val, i1 true, 1
ret { { ptr, i64 }, i1 } %ow.has
if.then.495: ; preds = %if.then.492
call void @out(ptr %0, { ptr, i64 } { ptr @str.604, i64 49 })
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
call void @out(ptr %0, { ptr, i64 } %sgN)
ret { { ptr, i64 }, i1 } zeroinitializer
if.merge.496: ; preds = %if.then.492
br label %if.merge.494
}
; Function Attrs: nounwind
define internal i1 @codesign(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2, { ptr, i64 } %3) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %3, ptr %allocaN, align 8
%load = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 25 }, { ptr, i64 } %load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.606, i64 18 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.500, label %if.merge.501
if.then.500: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.607, i64 17 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.608, i64 1 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.501
if.merge.501: ; preds = %if.then.500, %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.609, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.610, i64 6 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %loadN)
%oh.has = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has, label %if.then.502, label %if.merge.503
if.then.502: ; preds = %if.merge.501
%ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sg = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext = sext i32 %sg to i64
%icmpN = icmp ne i64 %cmp.ext, 0
br i1 %icmpN, label %if.then.504, label %if.merge.505
if.merge.503: ; preds = %if.merge.501
call void @out(ptr %0, { ptr, i64 } { ptr @str.611, i64 29 })
ret i1 false
if.then.504: ; preds = %if.then.502
call void @out(ptr %0, { ptr, i64 } { ptr @str.612, i64 24 })
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
call void @out(ptr %0, { ptr, i64 } %sgN)
ret i1 false
if.merge.505: ; preds = %if.then.502
ret i1 true
}
; Function Attrs: nounwind
define internal { ptr, i64 } @absolutify(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca [2 x { ptr, i64 }], align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %load, 1
%icmp = icmp eq i64 %len, 0
br i1 %icmp, label %if.then.62, label %if.merge.63
if.then.62: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %alloca, align 8
ret { ptr, i64 } %loadN
if.merge.63: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 0
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext = zext i8 %ig.val to i64
%icmpN = icmp eq i64 %cmp.ext, 47
br i1 %icmpN, label %if.then.64, label %if.merge.65
if.then.64: ; preds = %if.merge.63
%loadN = load { ptr, i64 }, ptr %alloca, align 8
ret { ptr, i64 } %loadN
if.merge.65: ; preds = %if.merge.63
%call = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } { ptr @str.613, i64 3 })
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %call)
%oh.has = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has, label %if.then.81, label %if.merge.82
if.then.81: ; preds = %if.merge.65
%ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sg = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext8 = sext i32 %sg to i64
%icmpN = icmp ne i64 %cmp.ext8, 0
br i1 %icmpN, label %if.then.83, label %if.merge.84
if.merge.82: ; preds = %if.merge.65
%loadN = load { ptr, i64 }, ptr %alloca, align 8
ret { ptr, i64 } %loadN
if.then.83: ; preds = %if.then.81
%loadN = load { ptr, i64 }, ptr %alloca, align 8
ret { ptr, i64 } %loadN
if.merge.84: ; preds = %if.then.81
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
store { ptr, i64 } %sgN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp sgt i64 %lenN, 0
br i1 %icmpN, label %if.then.85, label %if.merge.86
if.then.85: ; preds = %if.merge.84
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%sub = sub i64 %lenN, 1
%ig.data21 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr22 = getelementptr i8, ptr %ig.data21, i64 %sub
%ig.val23 = load i8, ptr %ig.ptr22, align 1
%cmp.ext24 = zext i8 %ig.val23 to i64
%icmpN = icmp eq i64 %cmp.ext24, 10
br i1 %icmpN, label %if.then.87, label %if.merge.88
if.merge.86: ; preds = %if.merge.88, %if.merge.84
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp eq i64 %lenN, 0
br i1 %icmpN, label %if.then.89, label %if.merge.90
if.then.87: ; preds = %if.then.85
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.88
if.merge.88: ; preds = %if.then.87, %if.then.85
br label %if.merge.86
if.then.89: ; preds = %if.merge.86
%loadN = load { ptr, i64 }, ptr %alloca, align 8
ret { ptr, i64 } %loadN
if.merge.90: ; preds = %if.merge.86
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%igp.ptr = getelementptr { ptr, i64 }, ptr %allocaN, i64 0
store { ptr, i64 } %loadN, ptr %igp.ptr, align 8
%igp.ptr38 = getelementptr { ptr, i64 }, ptr %allocaN, i64 1
store { ptr, i64 } %loadN, ptr %igp.ptr38, align 8
%igp.ptr40 = getelementptr { ptr, i64 }, ptr %allocaN, i64 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %igp.ptr40, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 2, ptr %gepN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @path_join(ptr %0, { ptr, i64 } %loadN)
ret { ptr, i64 } %callN
}
; Function Attrs: nounwind
declare i1 @android_bundle_main(ptr, {}, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }) #0
; Function Attrs: nounwind
define internal i1 @run_in_dir(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 4 }, { ptr, i64 } %load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 5 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 5 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %callN)
%oh.has = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has, label %if.then.313, label %if.merge.314
if.then.313: ; preds = %entry
%ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sg = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext = sext i32 %sg to i64
%icmp = icmp ne i64 %cmp.ext, 0
br i1 %icmp, label %if.then.315, label %if.merge.316
if.merge.314: ; preds = %entry
call void @out(ptr %0, { ptr, i64 } { ptr @str.617, i64 26 })
ret i1 false
if.then.315: ; preds = %if.then.313
call void @out(ptr %0, { ptr, i64 } { ptr @str.618, i64 7 })
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
call void @out(ptr %0, { ptr, i64 } %loadN)
call void @out(ptr %0, { ptr, i64 } { ptr @str.619, i64 9 })
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
call void @out(ptr %0, { ptr, i64 } %sgN)
ret i1 false
if.merge.316: ; preds = %if.then.313
ret i1 true
}
; Function Attrs: nounwind
define internal { ptr, i64 } @discover_android_sdk(ptr %0) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca [2 x { ptr, i64 }], align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%call = call { { ptr, i64 }, i1 } @env(ptr %0, { ptr, i64 } { ptr @str.620, i64 12 })
%oh.has = extractvalue { { ptr, i64 }, i1 } %call, 1
br i1 %oh.has, label %if.then.112, label %if.merge.113
if.then.112: ; preds = %entry
%ou.val = extractvalue { { ptr, i64 }, i1 } %call, 0
store { ptr, i64 } %ou.val, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
ret { ptr, i64 } %load
if.merge.113: ; preds = %entry
%callN = call { { ptr, i64 }, i1 } @env(ptr %0, { ptr, i64 } { ptr @str.621, i64 16 })
%oh.has2 = extractvalue { { ptr, i64 }, i1 } %callN, 1
br i1 %oh.has2, label %if.then.114, label %if.merge.115
if.then.114: ; preds = %if.merge.113
%ou.val3 = extractvalue { { ptr, i64 }, i1 } %callN, 0
store { ptr, i64 } %ou.val3, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
if.merge.115: ; preds = %if.merge.113
%callN = call { { ptr, i64 }, i1 } @env(ptr %0, { ptr, i64 } { ptr @str.622, i64 4 })
%oh.has7 = extractvalue { { ptr, i64 }, i1 } %callN, 1
br i1 %oh.has7, label %if.then.116, label %if.merge.117
if.then.116: ; preds = %if.merge.115
%ou.val8 = extractvalue { { ptr, i64 }, i1 } %callN, 0
store { ptr, i64 } %ou.val8, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.ptr = getelementptr { ptr, i64 }, ptr %allocaN, i64 0
store { ptr, i64 } %loadN, ptr %igp.ptr, align 8
%igp.ptr12 = getelementptr { ptr, i64 }, ptr %allocaN, i64 1
store { ptr, i64 } { ptr @str.623, i64 19 }, ptr %igp.ptr12, align 8
%igp.ptr14 = getelementptr { ptr, i64 }, ptr %allocaN, i64 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %igp.ptr14, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 2, ptr %gepN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @path_join(ptr %0, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
%callN = call i1 @exists(ptr %0, { ptr, i64 } %callN)
br i1 %callN, label %if.then.118, label %if.merge.119
if.merge.117: ; preds = %if.merge.119, %if.merge.115
ret { ptr, i64 } { ptr @str.624, i64 0 }
if.then.118: ; preds = %if.then.116
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
if.merge.119: ; preds = %if.then.116
br label %if.merge.117
}
; Function Attrs: nounwind
define internal { ptr, i64 } @find_highest_subdir(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca i8, align 1
%allocaN = alloca [2 x { ptr, i64 }], align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.625, i64 7 }, { ptr, i64 } %load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, i64 33 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %callN)
%oh.has = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has, label %if.then.122, label %if.merge.123
if.then.122: ; preds = %entry
%ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sg = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext = sext i32 %sg to i64
%icmp = icmp ne i64 %cmp.ext, 0
br i1 %icmp, label %if.then.124, label %if.merge.125
if.merge.123: ; preds = %entry
ret { ptr, i64 } { ptr @str.627, i64 0 }
if.then.124: ; preds = %if.then.122
ret { ptr, i64 } { ptr @str.628, i64 0 }
if.merge.125: ; preds = %if.then.122
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
store { ptr, i64 } %sgN, ptr %allocaN, align 8
br label %while.hdr.126
while.hdr.126: ; preds = %if.merge.131, %if.merge.125
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp sgt i64 %len, 0
br i1 %icmpN, label %while.body.127, label %while.exit.128
while.body.127: ; preds = %while.hdr.126
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%sub = sub i64 %lenN, 1
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %sub
%ig.val = load i8, ptr %ig.ptr, align 1
store i8 %ig.val, ptr %allocaN, align 1
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext19 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext19, 10
br i1 %icmpN, label %if.then.129, label %if.else.130
while.exit.128: ; preds = %if.else.139, %while.hdr.126
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp eq i64 %lenN, 0
br i1 %icmpN, label %if.then.141, label %if.merge.142
if.then.129: ; preds = %while.body.127
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.131
if.else.130: ; preds = %while.body.127
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext30 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext30, 13
br i1 %icmpN, label %if.then.132, label %if.else.133
if.merge.131: ; preds = %if.merge.134, %if.then.129
br label %while.hdr.126
if.then.132: ; preds = %if.else.130
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.134
if.else.133: ; preds = %if.else.130
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext38 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext38, 32
br i1 %icmpN, label %if.then.135, label %if.else.136
if.merge.134: ; preds = %if.merge.137, %if.then.132
br label %if.merge.131
if.then.135: ; preds = %if.else.133
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.137
if.else.136: ; preds = %if.else.133
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext46 = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext46, 9
br i1 %icmpN, label %if.then.138, label %if.else.139
if.merge.137: ; preds = %if.merge.140, %if.then.135
br label %if.merge.134
if.then.138: ; preds = %if.else.136
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 1
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.140
if.else.139: ; preds = %if.else.136
br label %while.exit.128
if.merge.140: ; preds = %if.then.138
br label %if.merge.137
if.then.141: ; preds = %while.exit.128
ret { ptr, i64 } { ptr @str.629, i64 0 }
if.merge.142: ; preds = %while.exit.128
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.ptr = getelementptr { ptr, i64 }, ptr %allocaN, i64 0
store { ptr, i64 } %loadN, ptr %igp.ptr, align 8
%igp.ptr56 = getelementptr { ptr, i64 }, ptr %allocaN, i64 1
store { ptr, i64 } %loadN, ptr %igp.ptr56, align 8
%igp.ptr58 = getelementptr { ptr, i64 }, ptr %allocaN, i64 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %igp.ptr58, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 2, ptr %gepN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @path_join(ptr %0, { ptr, i64 } %loadN)
ret { ptr, i64 } %callN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @lib_name_from_so_basename(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca i64, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %load, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 3
br i1 %icmp, label %if.then.195, label %if.merge.196
if.then.195: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 0
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext = zext i8 %ig.val to i64
%icmpN = icmp eq i64 %cmp.ext, 108
br i1 %icmpN, label %if.then.197, label %if.merge.198
if.merge.196: ; preds = %if.merge.198, %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp sgt i64 %lenN, 3
br i1 %icmpN, label %if.then.203, label %if.merge.204
if.then.197: ; preds = %if.then.195
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ig.data9 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr10 = getelementptr i8, ptr %ig.data9, i64 1
%ig.val11 = load i8, ptr %ig.ptr10, align 1
%cmp.ext12 = zext i8 %ig.val11 to i64
%icmpN = icmp eq i64 %cmp.ext12, 105
br i1 %icmpN, label %if.then.199, label %if.merge.200
if.merge.198: ; preds = %if.merge.200, %if.then.195
br label %if.merge.196
if.then.199: ; preds = %if.then.197
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ig.data15 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr16 = getelementptr i8, ptr %ig.data15, i64 2
%ig.val17 = load i8, ptr %ig.ptr16, align 1
%cmp.ext18 = zext i8 %ig.val17 to i64
%icmpN = icmp eq i64 %cmp.ext18, 98
br i1 %icmpN, label %if.then.201, label %if.merge.202
if.merge.200: ; preds = %if.merge.202, %if.then.197
br label %if.merge.198
if.then.201: ; preds = %if.then.199
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%sub = sub i64 %lenN, 3
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 3, i64 %sub)
store { ptr, i64 } %call, ptr %allocaN, align 8
br label %if.merge.202
if.merge.202: ; preds = %if.then.201, %if.then.199
br label %if.merge.200
if.then.203: ; preds = %if.merge.196
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%subN = sub i64 %lenN, 3
store i64 %subN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data29 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr30 = getelementptr i8, ptr %ig.data29, i64 %loadN
%ig.val31 = load i8, ptr %ig.ptr30, align 1
%cmp.ext32 = zext i8 %ig.val31 to i64
%icmpN = icmp eq i64 %cmp.ext32, 46
br i1 %icmpN, label %if.then.205, label %if.merge.206
if.merge.204: ; preds = %if.merge.206, %if.merge.196
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
if.then.205: ; preds = %if.then.203
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
%ig.data37 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr38 = getelementptr i8, ptr %ig.data37, i64 %add
%ig.val39 = load i8, ptr %ig.ptr38, align 1
%cmp.ext40 = zext i8 %ig.val39 to i64
%icmpN = icmp eq i64 %cmp.ext40, 115
br i1 %icmpN, label %if.then.207, label %if.merge.208
if.merge.206: ; preds = %if.merge.208, %if.then.203
br label %if.merge.204
if.then.207: ; preds = %if.then.205
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, 2
%ig.data45 = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr46 = getelementptr i8, ptr %ig.data45, i64 %addN
%ig.val47 = load i8, ptr %ig.ptr46, align 1
%cmp.ext48 = zext i8 %ig.val47 to i64
%icmpN = icmp eq i64 %cmp.ext48, 111
br i1 %icmpN, label %if.then.209, label %if.merge.210
if.merge.208: ; preds = %if.merge.210, %if.then.205
br label %if.merge.206
if.then.209: ; preds = %if.then.207
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.210
if.merge.210: ; preds = %if.then.209, %if.then.207
br label %if.merge.208
}
; Function Attrs: nounwind
declare { ptr, i64 } @build_android_manifest(ptr, {}, { ptr, i64 }, { ptr, i64 }) #0
; Function Attrs: nounwind
define internal { ptr, i64 } @slash_to_dot(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca i8, align 1
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %load, 1
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %len)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.235
while.hdr.235: ; preds = %if.merge.240, %entry
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %loadN, %lenN
br i1 %icmp, label %while.body.236, label %while.exit.237
while.body.236: ; preds = %while.hdr.235
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %loadN
%ig.val = load i8, ptr %ig.ptr, align 1
store i8 %ig.val, ptr %allocaN, align 1
%loadN = load i8, ptr %allocaN, align 1
%cmp.ext = zext i8 %loadN to i64
%icmpN = icmp eq i64 %cmp.ext, 47
br i1 %icmpN, label %if.then.238, label %if.else.239
while.exit.237: ; preds = %while.hdr.235
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
if.then.238: ; preds = %while.body.236
br label %if.merge.240
if.else.239: ; preds = %while.body.236
%loadN = load i8, ptr %allocaN, align 1
%zext = zext i8 %loadN to i64
br label %if.merge.240
if.merge.240: ; preds = %if.else.239, %if.then.238
%bp = phi i64 [ 46, %if.then.238 ], [ %zext, %if.else.239 ]
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%igp.data = extractvalue { ptr, i64 } %loadN, 0
%igp.ptr = getelementptr i8, ptr %igp.data, i64 %loadN
%trunc = trunc i64 %bp to i8
store i8 %trunc, ptr %igp.ptr, align 1
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.235
}
; Function Attrs: nounwind
define internal { ptr, i64 } @last_slash_component(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %load, 1
%allocaN = alloca i64, align 8
store i64 %len, ptr %allocaN, align 8
br label %while.hdr.277
while.hdr.277: ; preds = %if.merge.281, %entry
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp sgt i64 %loadN, 0
br i1 %icmp, label %while.body.278, label %while.exit.279
while.body.278: ; preds = %while.hdr.277
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%sub = sub i64 %loadN, 1
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %sub
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext = zext i8 %ig.val to i64
%icmpN = icmp eq i64 %cmp.ext, 47
br i1 %icmpN, label %if.then.280, label %if.merge.281
while.exit.279: ; preds = %while.hdr.277
%loadN = load { ptr, i64 }, ptr %alloca, align 8
ret { ptr, i64 } %loadN
if.then.280: ; preds = %while.body.278
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %lenN, %loadN
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %subN)
ret { ptr, i64 } %call
if.merge.281: ; preds = %while.body.278
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
store i64 %subN, ptr %allocaN, align 8
br label %while.hdr.277
}
; Function Attrs: nounwind
define internal { ptr, i64 } @dir_part(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %load, 1
%allocaN = alloca i64, align 8
store i64 %len, ptr %allocaN, align 8
br label %while.hdr.272
while.hdr.272: ; preds = %if.merge.276, %entry
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp sgt i64 %loadN, 0
br i1 %icmp, label %while.body.273, label %while.exit.274
while.body.273: ; preds = %while.hdr.272
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%sub = sub i64 %loadN, 1
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %sub
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext = zext i8 %ig.val to i64
%icmpN = icmp eq i64 %cmp.ext, 47
br i1 %icmpN, label %if.then.275, label %if.merge.276
while.exit.274: ; preds = %while.hdr.272
ret { ptr, i64 } { ptr @str.630, i64 0 }
if.then.275: ; preds = %while.body.273
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 %subN)
ret { ptr, i64 } %call
if.merge.276: ; preds = %while.body.273
%loadN = load i64, ptr %allocaN, align 8
%subN = sub i64 %loadN, 1
store i64 %subN, ptr %allocaN, align 8
br label %while.hdr.272
}
; Function Attrs: nounwind
declare i1 @compile_jni_main_sources(ptr, {}, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }) #0
; Function Attrs: nounwind
define internal { ptr, i64 } @discover_javac(ptr %0) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca [2 x { ptr, i64 }], align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%call = call { { ptr, i64 }, i1 } @env(ptr %0, { ptr, i64 } { ptr @str.631, i64 9 })
%oh.has = extractvalue { { ptr, i64 }, i1 } %call, 1
br i1 %oh.has, label %if.then.251, label %if.merge.252
if.then.251: ; preds = %entry
%ou.val = extractvalue { { ptr, i64 }, i1 } %call, 0
store { ptr, i64 } %ou.val, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%igp.ptr = getelementptr { ptr, i64 }, ptr %allocaN, i64 0
store { ptr, i64 } %load, ptr %igp.ptr, align 8
%igp.ptr2 = getelementptr { ptr, i64 }, ptr %allocaN, i64 1
store { ptr, i64 } { ptr @str.632, i64 9 }, ptr %igp.ptr2, align 8
%igp.ptr4 = getelementptr { ptr, i64 }, ptr %allocaN, i64 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %igp.ptr4, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 2, ptr %gepN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @path_join(ptr %0, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
%callN = call i1 @exists(ptr %0, { ptr, i64 } %callN)
br i1 %callN, label %if.then.253, label %if.merge.254
if.merge.252: ; preds = %if.merge.254, %entry
%callN = call { { ptr, i64 }, i1 } @find_executable(ptr %0, { ptr, i64 } { ptr @str.633, i64 5 })
%oh.has13 = extractvalue { { ptr, i64 }, i1 } %callN, 1
br i1 %oh.has13, label %if.then.265, label %if.merge.266
if.then.253: ; preds = %if.then.251
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
if.merge.254: ; preds = %if.then.251
br label %if.merge.252
if.then.265: ; preds = %if.merge.252
%ou.val15 = extractvalue { { ptr, i64 }, i1 } %callN, 0
store { ptr, i64 } %ou.val15, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
if.merge.266: ; preds = %if.merge.252
ret { ptr, i64 } { ptr @str.634, i64 0 }
}
; Function Attrs: nounwind
define internal i1 @zip_asset_dir(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2, { ptr, i64 } %3) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %3, ptr %allocaN, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %load)
%callN = call i1 @exists(ptr %0, { ptr, i64 } %call)
%lnot = xor i1 %callN, true
br i1 %lnot, label %if.then.326, label %if.merge.327
if.then.326: ; preds = %entry
ret i1 true
if.merge.327: ; preds = %entry
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } { ptr @str.635, i64 18 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call i1 @create_dir_all(ptr %0, { ptr, i64 } %loadN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 26 }, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %callN)
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @dir_part(ptr %0, { ptr, i64 } %loadN)
%len = extractvalue { ptr, i64 } %callN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.328, label %if.else.329
if.then.328: ; preds = %if.merge.327
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @dir_part(ptr %0, { ptr, i64 } %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 19 }, { ptr, i64 } %callN)
br label %if.merge.330
if.else.329: ; preds = %if.merge.327
br label %if.merge.330
if.merge.330: ; preds = %if.else.329, %if.then.328
%bp = phi { ptr, i64 } [ %callN, %if.then.328 ], [ { ptr @str.638, i64 18 }, %if.else.329 ]
store { ptr, i64 } %bp, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
%callN = call i1 @create_dir_all(ptr %0, { ptr, i64 } %callN)
%lnotN = xor i1 %callN, true
br i1 %lnotN, label %if.then.331, label %if.merge.332
if.then.331: ; preds = %if.merge.330
call void @out(ptr %0, { ptr, i64 } { ptr @str.639, i64 42 })
ret i1 false
if.merge.332: ; preds = %if.merge.330
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 7 }, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 22 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 6 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %callN)
%oh.has = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has, label %if.then.333, label %if.else.334
if.then.333: ; preds = %if.merge.332
%ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sg = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext = sext i32 %sg to i64
%icmpN = icmp ne i64 %cmp.ext, 0
br i1 %icmpN, label %if.then.336, label %if.merge.337
if.else.334: ; preds = %if.merge.332
call void @out(ptr %0, { ptr, i64 } { ptr @str.643, i64 36 })
ret i1 false
if.merge.335: ; preds = %if.merge.337
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%lenN = extractvalue { ptr, i64 } %loadN, 1
%icmpN = icmp sgt i64 %lenN, 0
br i1 %icmpN, label %if.then.338, label %if.else.339
if.then.336: ; preds = %if.then.333
call void @out(ptr %0, { ptr, i64 } { ptr @str.644, i64 31 })
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
call void @out(ptr %0, { ptr, i64 } %sgN)
ret i1 false
if.merge.337: ; preds = %if.then.333
br label %if.merge.335
if.then.338: ; preds = %if.merge.335
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 0
%ig.val = load i8, ptr %ig.ptr, align 1
%cmp.ext46 = zext i8 %ig.val to i64
%icmpN = icmp eq i64 %cmp.ext46, 47
br i1 %icmpN, label %if.then.341, label %if.else.342
if.else.339: ; preds = %if.merge.335
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
br label %if.merge.340
if.merge.340: ; preds = %if.merge.343, %if.else.339
%bpN = phi { ptr, i64 } [ %loadN, %if.else.339 ], [ %bpN, %if.merge.343 ]
store { ptr, i64 } %bpN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 11 }, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 3 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 1 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call i1 @run_in_dir(ptr %0, { ptr, i64 } { ptr @str.648, i64 18 }, { ptr, i64 } %loadN)
%lnotN = xor i1 %callN, true
br i1 %lnotN, label %if.then.344, label %if.merge.345
if.then.341: ; preds = %if.then.338
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
br label %if.merge.343
if.else.342: ; preds = %if.then.338
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 7 }, { ptr, i64 } %loadN)
br label %if.merge.343
if.merge.343: ; preds = %if.else.342, %if.then.341
%bpN = phi { ptr, i64 } [ %loadN, %if.then.341 ], [ %callN, %if.else.342 ]
br label %if.merge.340
if.then.344: ; preds = %if.merge.340
ret i1 false
if.merge.345: ; preds = %if.merge.340
ret i1 true
}
; Function Attrs: nounwind
define internal i1 @ensure_debug_keystore(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
%allocaN = alloca { i32, { ptr, i64 } }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%load = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %load)
%callN = call i1 @exists(ptr %0, { ptr, i64 } %call)
br i1 %callN, label %if.then.358, label %if.merge.359
if.then.358: ; preds = %entry
ret i1 true
if.merge.359: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @dir_part(ptr %0, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.360, label %if.merge.361
if.then.360: ; preds = %if.merge.359
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
%callN = call i1 @create_dir_all(ptr %0, { ptr, i64 } %callN)
br label %if.merge.361
if.merge.361: ; preds = %if.then.360, %if.merge.359
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 31 }, { ptr, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 148 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @str_to_cstr(ptr %0, { ptr, i64 } %loadN)
%callN = call { { i32, { ptr, i64 } }, i1 } @run(ptr %0, { ptr, i64 } %callN)
%oh.has = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 1
br i1 %oh.has, label %if.then.362, label %if.merge.363
if.then.362: ; preds = %if.merge.361
%ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %callN, 0
store { i32, { ptr, i64 } } %ou.val, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sg = extractvalue { i32, { ptr, i64 } } %loadN, 0
%cmp.ext = sext i32 %sg to i64
%icmpN = icmp ne i64 %cmp.ext, 0
br i1 %icmpN, label %if.then.364, label %if.merge.365
if.merge.363: ; preds = %if.merge.361
call void @out(ptr %0, { ptr, i64 } { ptr @str.652, i64 28 })
ret i1 false
if.then.364: ; preds = %if.then.362
call void @out(ptr %0, { ptr, i64 } { ptr @str.653, i64 23 })
%loadN = load { i32, { ptr, i64 } }, ptr %allocaN, align 8
%sgN = extractvalue { i32, { ptr, i64 } } %loadN, 1
call void @out(ptr %0, { ptr, i64 } %sgN)
ret i1 false
if.merge.365: ; preds = %if.then.362
ret i1 true
}
; Function Attrs: nounwind
declare i64 @build_options() #0
; Function Attrs: nounwind
declare void @add_link_flag(i64, ptr) #0
; Function Attrs: nounwind
declare void @add_framework(i64, ptr) #0
; Function Attrs: nounwind
declare void @set_output_path(i64, ptr) #0
; Function Attrs: nounwind
declare void @set_wasm_shell(i64, ptr) #0
; Function Attrs: nounwind
declare void @add_asset_dir(i64, ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @asset_dir_count(i64) #0
; Function Attrs: nounwind
declare ptr @asset_dir_src_at(i64, i64) #0
; Function Attrs: nounwind
declare ptr @asset_dir_dest_at(i64, i64) #0
; Function Attrs: nounwind
declare void @set_post_link_module(i64, ptr) #0
; Function Attrs: nounwind
declare ptr @binary_path(i64) #0
; Function Attrs: nounwind
declare void @set_bundle_path(i64, ptr) #0
; Function Attrs: nounwind
declare void @set_bundle_id(i64, ptr) #0
; Function Attrs: nounwind
declare void @set_codesign_identity(i64, ptr) #0
; Function Attrs: nounwind
declare void @set_provisioning_profile(i64, ptr) #0
; Function Attrs: nounwind
declare ptr @bundle_path(i64) #0
; Function Attrs: nounwind
declare ptr @bundle_id(i64) #0
; Function Attrs: nounwind
declare ptr @codesign_identity(i64) #0
; Function Attrs: nounwind
declare ptr @provisioning_profile(i64) #0
; Function Attrs: nounwind
declare ptr @target_triple(i64) #0
; Function Attrs: nounwind
declare i1 @is_macos(i64) #0
; Function Attrs: nounwind
declare i1 @is_ios(i64) #0
; Function Attrs: nounwind
declare i1 @is_ios_device(i64) #0
; Function Attrs: nounwind
declare i1 @is_ios_simulator(i64) #0
; Function Attrs: nounwind
declare i1 @is_android(i64) #0
; Function Attrs: nounwind
declare i64 @framework_count(i64) #0
; Function Attrs: nounwind
declare ptr @framework_at(i64, i64) #0
; Function Attrs: nounwind
declare i64 @framework_path_count(i64) #0
; Function Attrs: nounwind
declare ptr @framework_path_at(i64, i64) #0
; Function Attrs: nounwind
declare void @set_manifest_path(i64, ptr) #0
; Function Attrs: nounwind
declare void @set_keystore_path(i64, ptr) #0
; Function Attrs: nounwind
declare ptr @manifest_path(i64) #0
; Function Attrs: nounwind
declare ptr @keystore_path(i64) #0
; Function Attrs: nounwind
declare i64 @jni_main_count(i64) #0
; Function Attrs: nounwind
declare ptr @jni_main_runtime_path_at(i64, i64) #0
; Function Attrs: nounwind
declare ptr @jni_main_java_source_at(i64, i64) #0
; Function Attrs: nounwind
declare void @on_build(ptr) #0
; Function Attrs: nounwind
declare i1 @emit_and_link(ptr, {}) #0
; Function Attrs: nounwind
declare i1 @default_pipeline(ptr, {}) #0
; Function Attrs: nounwind
declare ptr @spaces.74(ptr, i32) #0
; Function Attrs: nounwind
declare ptr @to_string.75(ptr) #0
; Function Attrs: nounwind
declare void @print_current.76(ptr) #0
; Function Attrs: nounwind
declare void @print_interpreter_frames.77(ptr) #0
; Function Attrs: nounwind
declare void @run.78(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @env.79(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @find_executable.80(ptr, ptr) #0
; Function Attrs: nounwind
declare void @exit.81(ptr, i8, ptr) #0
; Function Attrs: nounwind
declare void @assert.82(ptr, i1, ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @_NSGetArgv() #0
; Function Attrs: nounwind
declare ptr @_NSGetArgc() #0
; Function Attrs: nounwind
declare void @exit_ok(ptr) #0
; Function Attrs: nounwind
declare void @exit_usage(ptr) #0
; Function Attrs: nounwind
declare i64 @os_argc(ptr) #0
; Function Attrs: nounwind
declare ptr @os_args(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @is_long_flag(ptr, ptr) #0
; Function Attrs: nounwind
declare void @parse.83(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @File.is_valid.84(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @File.close.85(ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.read.86(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.write.87(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @File.seek.88(ptr, ptr, i64, i64) #0
; Function Attrs: nounwind
declare i32 @mode_to_flags.89(ptr, i64) #0
; Function Attrs: nounwind
declare i64 @open_file.90(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare ptr @read_file.91(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @write_file.92(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @append_file.93(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @exists.94(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @delete_file.95(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @delete_dir.96(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @create_dir.97(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @set_mode.98(ptr, ptr, i32) #0
; Function Attrs: nounwind
declare i1 @move.99(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @create_dir_all.100(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @copy_file.101(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @basename.102(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @dirname.103(ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @rotr(ptr, i64, i64) #0
; Function Attrs: nounwind
declare i64 @big_sigma0(ptr, i64) #0
; Function Attrs: nounwind
declare i64 @big_sigma1(ptr, i64) #0
; Function Attrs: nounwind
declare i64 @small_sigma0(ptr, i64) #0
; Function Attrs: nounwind
declare i64 @small_sigma1(ptr, i64) #0
; Function Attrs: nounwind
declare void @Sha256.process_block(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Sha256.update(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare [64 x i8] @Sha256.final(ptr, ptr) #0
; Function Attrs: nounwind
declare i8 @nibble_hex(ptr, i64) #0
; Function Attrs: nounwind
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
; Function Attrs: nounwind
declare [64 x i8] @sha256_hex(ptr, ptr) #0
; Function Attrs: nounwind
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
; Function Attrs: nounwind
declare void @log_emit(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @assert.104(ptr, i1) #0
; Function Attrs: nounwind
declare i64 @now_secs.105(ptr) #0
; Function Attrs: nounwind
declare i64 @mono_ms.106(ptr) #0
; Function Attrs: nounwind
declare i32 @kqueue() #0
; Function Attrs: nounwind
declare i32 @kevent(i32, ptr, i32, ptr, i32, ptr) #0
; Function Attrs: nounwind
declare void @kev_change(ptr sret({ i64, i16, i16, i32, i64, i64 }), ptr, i32, i16, i16, i64) #0
; Function Attrs: nounwind
declare i1 @kq_apply(ptr, i32, ptr) #0
; Function Attrs: nounwind
declare i32 @kq_wait(ptr, i32, ptr, i32, i64) #0
; Function Attrs: nounwind
declare i64 @now_secs.107(ptr) #0
; Function Attrs: nounwind
define internal i64 @mono_ms.108(ptr %0) #0 {
entry:
%alloca = alloca { i64, i64 }, align 8
store { i64, i64 } zeroinitializer, ptr %alloca, align 8
%call = call i32 @clock_gettime(i32 6, ptr %alloca)
%load = load { i64, i64 }, ptr %alloca, align 8
%sg = extractvalue { i64, i64 } %load, 0
%mul = mul i64 %sg, 1000
%loadN = load { i64, i64 }, ptr %alloca, align 8
%sgN = extractvalue { i64, i64 } %loadN, 1
%sdiv = sdiv i64 %sgN, 1000000
%add = add i64 %mul, %sdiv
ret i64 %add
}
; Function Attrs: nounwind
declare i64 @Loop.init(ptr) #0
; Function Attrs: nounwind
declare void @Loop.close(ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @Loop.add_read(ptr, ptr, i32, i64) #0
; Function Attrs: nounwind
declare void @Loop.del_read(ptr, ptr, i32) #0
; Function Attrs: nounwind
declare i32 @Loop.add_write(ptr, ptr, i32, i64) #0
; Function Attrs: nounwind
declare void @Loop.del_write(ptr, ptr, i32) #0
; Function Attrs: nounwind
declare i32 @Loop.add_wake(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Loop.wake(ptr, ptr) #0
; Function Attrs: nounwind
declare [2 x i64] @Loop.wait(ptr, ptr, ptr, i64) #0
; Function Attrs: nounwind
declare i64 @deadline_in(ptr, i64) #0
; Function Attrs: nounwind
declare i1 @expired(ptr, i64) #0
; Function Attrs: nounwind
declare i64 @remaining_ms(ptr, i64) #0
; Function Attrs: nounwind
declare ptr @find_header(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @ascii_ieq(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @reason_for(ptr, i64) #0
; Function Attrs: nounwind
declare void @run_handler_job(ptr, i64) #0
; Function Attrs: nounwind
declare [2 x i64] @serialize_bytes(ptr, ptr, i1, ptr) #0
; Function Attrs: nounwind
declare void @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr }, i32 }), ptr, ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Server.close(ptr, ptr) #0
; Function Attrs: nounwind
declare i64 @Server.free_slot(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Server.conn_close(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare i32 @Server.tick(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Server.run(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Server.accept_ready(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @Server.grow_read_buf(ptr, ptr, i64, i64) #0
; Function Attrs: nounwind
declare void @Server.read_more(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Server.serve_buffered(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare i1 @Server.try_serve_one(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Server.serialize_response(ptr, ptr, i64, ptr, i1) #0
; Function Attrs: nounwind
declare void @Server.drain_completions(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Server.write_more(ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
; Function Attrs: nounwind
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @pthread_join(i64, ptr) #0
; Function Attrs: nounwind
declare i32 @pthread_detach(i64) #0
; Function Attrs: nounwind
declare i32 @pthread_mutex_init(ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @pthread_mutex_lock(ptr) #0
; Function Attrs: nounwind
declare i32 @pthread_mutex_unlock(ptr) #0
; Function Attrs: nounwind
declare i32 @pthread_mutex_destroy(ptr) #0
; Function Attrs: nounwind
declare i32 @pthread_cond_init(ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @pthread_cond_wait(ptr, ptr) #0
; Function Attrs: nounwind
declare i32 @pthread_cond_signal(ptr) #0
; Function Attrs: nounwind
declare i32 @pthread_cond_broadcast(ptr) #0
; Function Attrs: nounwind
declare i32 @pthread_cond_destroy(ptr) #0
; Function Attrs: nounwind
declare i1 @Mutex.setup(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Mutex.lock(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Mutex.unlock(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Mutex.destroy(ptr, ptr) #0
; Function Attrs: nounwind
declare i1 @Cond.setup(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Cond.wait(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @Cond.signal(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Cond.broadcast(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Cond.destroy(ptr, ptr) #0
; Function Attrs: nounwind
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
; Function Attrs: nounwind
declare void @Thread.join(ptr, ptr) #0
; Function Attrs: nounwind
declare void @Thread.detach(ptr, ptr) #0
; Function Attrs: nounwind
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
; Function Attrs: nounwind
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
; Function Attrs: nounwind
declare void @Pool.shutdown(ptr, ptr) #0
; Function Attrs: nounwind
declare ptr @pool_worker(ptr) #0
; Function Attrs: nounwind
declare ptr @mmap(ptr, i64, i32, i32, i32, i64) #0
; Function Attrs: nounwind
declare i32 @mprotect(ptr, i64, i32) #0
; Function Attrs: naked noinline nounwind
define internal void @swap_context(ptr %0, ptr %1) #1 {
entry:
call void asm sideeffect " stp x19, x20, [x0, #0]\0A stp x21, x22, [x0, #16]\0A stp x23, x24, [x0, #32]\0A stp x25, x26, [x0, #48]\0A stp x27, x28, [x0, #64]\0A stp x29, x30, [x0, #80]\0A mov x9, sp\0A str x9, [x0, #96]\0A ldp x19, x20, [x1, #0]\0A ldp x21, x22, [x1, #16]\0A ldp x23, x24, [x1, #32]\0A ldp x25, x26, [x1, #48]\0A ldp x27, x28, [x1, #64]\0A ldp x29, x30, [x1, #80]\0A ldr x9, [x1, #96]\0A mov sp, x9\0A ret\0A", ""()
unreachable
}
; Function Attrs: nounwind
declare void @fib_tramp() #0
; Function Attrs: nounwind
define internal i64 @sum_to(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%icmp = icmp eq i64 %load, 0
br i1 %icmp, label %if.then.0, label %if.merge.1
if.then.0: ; preds = %entry
ret i64 0
if.merge.1: ; preds = %entry
%loadN = load i64, ptr %alloca, align 8
%loadN = load i64, ptr %alloca, align 8
%sub = sub i64 %loadN, 1
%call = call i64 @sum_to(ptr %0, i64 %sub)
%add = add i64 %loadN, %call
ret i64 %add
}
; Function Attrs: nounwind
define void @fib_body(ptr %0) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %0, ptr %alloca, align 8
%call = call i64 @sum_to(ptr @__sx_default_context, i64 200)
%load = load ptr, ptr %alloca, align 8
%gep = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %load, i32 0, i32 2
store i64 %call, ptr %gep, align 8
%loadN = load ptr, ptr %alloca, align 8
%gepN = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %loadN, i32 0, i32 0
%loadN = load ptr, ptr %alloca, align 8
%loadN = load { { [13 x i64] }, ptr, i64, i64 }, ptr %loadN, align 8
%sg = extractvalue { { [13 x i64] }, ptr, i64, i64 } %loadN, 1
call void @swap_context(ptr %gepN, ptr %sg)
ret void
}
; Function Attrs: nounwind
define internal i64 @guarded_stack(ptr %0, ptr %1, i64 %2) #0 {
entry:
%alloca = alloca ptr, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca i64, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %2, ptr %allocaN, align 8
%allocaN = alloca ptr, align 8
%load = load i64, ptr %allocaN, align 8
%add = add i64 16384, %load
%call = call ptr @mmap(ptr null, i64 %add, i32 3, i32 4098, i32 -1, i64 0)
store ptr %call, ptr %allocaN, align 8
%loadN = load ptr, ptr %allocaN, align 8
%icmp = icmp eq ptr %loadN, null
br i1 %icmp, label %if.then.2, label %if.merge.3
if.then.2: ; preds = %entry
%loadN = load ptr, ptr %alloca, align 8
%gep = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %loadN, i32 0, i32 3
store i64 0, ptr %gep, align 8
ret i64 0
if.merge.3: ; preds = %entry
%loadN = load ptr, ptr %alloca, align 8
%gepN = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %loadN, i32 0, i32 3
store i64 0, ptr %gepN, align 8
%loadN = load ptr, ptr %allocaN, align 8
%callN = call i32 @mprotect(ptr %loadN, i64 16384, i32 0)
%cmp.ext = sext i32 %callN to i64
%icmpN = icmp eq i64 %cmp.ext, 0
br i1 %icmpN, label %if.then.4, label %if.merge.5
if.then.4: ; preds = %if.merge.3
%loadN = load ptr, ptr %alloca, align 8
%gepN = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %loadN, i32 0, i32 3
store i64 1, ptr %gepN, align 8
br label %if.merge.5
if.merge.5: ; preds = %if.then.4, %if.merge.3
%loadN = load ptr, ptr %allocaN, align 8
%pti = ptrtoint ptr %loadN to i64
%addN = add i64 %pti, 16384
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%addN = add i64 %loadN, %loadN
store i64 %addN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%urem = urem i64 %loadN, 16
%sub = sub i64 %loadN, %urem
ret i64 %sub
}
; Function Attrs: nounwind
define i32 @main() #0 {
entry:
%alloca = alloca { [13 x i64] }, align 8
store { [13 x i64] } undef, ptr %alloca, align 8
%allocaN = alloca { { [13 x i64] }, ptr, i64, i64 }, align 8
store { { [13 x i64] }, ptr, i64, i64 } undef, ptr %allocaN, align 8
%gep = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %allocaN, i32 0, i32 1
store ptr %alloca, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %allocaN, i32 0, i32 2
store i64 -1, ptr %gepN, align 8
%gepN = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %allocaN, i32 0, i32 3
store i64 0, ptr %gepN, align 8
%call = call i64 @guarded_stack(ptr @__sx_default_context, ptr %allocaN, i64 131072)
%allocaN = alloca i64, align 8
store i64 %call, ptr %allocaN, align 8
%pti = ptrtoint ptr %allocaN to i64
%gepN = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %allocaN, i32 0, i32 0
%gepN = getelementptr inbounds nuw { [13 x i64] }, ptr %gepN, i32 0, i32 0
%igp.ptr = getelementptr i64, ptr %gepN, i64 0
store i64 %pti, ptr %igp.ptr, align 8
%gepN = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %allocaN, i32 0, i32 0
%gepN = getelementptr inbounds nuw { [13 x i64] }, ptr %gepN, i32 0, i32 0
%igp.ptr9 = getelementptr i64, ptr %gepN, i64 10
store i64 0, ptr %igp.ptr9, align 8
%gepN = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %allocaN, i32 0, i32 0
%gepN = getelementptr inbounds nuw { [13 x i64] }, ptr %gepN, i32 0, i32 0
%igp.ptr12 = getelementptr i64, ptr %gepN, i64 11
store ptr @fib_tramp, ptr %igp.ptr12, align 8
%load = load i64, ptr %allocaN, align 8
%gepN = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %allocaN, i32 0, i32 0
%gepN = getelementptr inbounds nuw { [13 x i64] }, ptr %gepN, i32 0, i32 0
%igp.ptr15 = getelementptr i64, ptr %gepN, i64 12
store i64 %load, ptr %igp.ptr15, align 8
%gepN = getelementptr inbounds nuw { { [13 x i64] }, ptr, i64, i64 }, ptr %allocaN, i32 0, i32 0
call void @swap_context(ptr %alloca, ptr %gepN)
%loadN = load { { [13 x i64] }, ptr, i64, i64 }, ptr %allocaN, align 8
%sg = extractvalue { { [13 x i64] }, ptr, i64, i64 } %loadN, 3
call void @print__ct_sbef99de9405780b8__pack_i64(ptr @__sx_default_context, i64 %sg)
%loadN = load { { [13 x i64] }, ptr, i64, i64 }, ptr %allocaN, align 8
%sgN = extractvalue { { [13 x i64] }, ptr, i64, i64 } %loadN, 2
call void @print__ct_s95dfd2a009f17129__pack_i64(ptr @__sx_default_context, i64 %sgN)
ret i32 0
}
; Function Attrs: nounwind
define internal ptr @__thunk_CAllocator_Allocator_alloc_bytes(ptr %0, ptr %1, i64 %2) #0 {
entry:
%call = call ptr @CAllocator.alloc_bytes(ptr %0, ptr %1, i64 %2)
ret ptr %call
}
; Function Attrs: nounwind
define internal void @__thunk_CAllocator_Allocator_dealloc_bytes(ptr %0, ptr %1, ptr %2) #0 {
entry:
call void @CAllocator.dealloc_bytes(ptr %0, ptr %1, ptr %2)
ret void
}
; Function Attrs: nounwind
define internal ptr @__thunk_CBlockingIo_Io_spawn_raw(ptr %0, ptr %1, ptr %2, ptr %3, { i64 } %4) #0 {
entry:
%call = call ptr @CBlockingIo.spawn_raw(ptr %0, ptr %1, ptr %2, ptr %3, { i64 } %4)
ret ptr %call
}
; Function Attrs: nounwind
define internal i32 @__thunk_CBlockingIo_Io_suspend_raw(ptr %0, ptr %1, { ptr } %2) #0 {
entry:
%call = call i32 @CBlockingIo.suspend_raw(ptr %0, ptr %1, { ptr } %2)
ret i32 %call
}
; Function Attrs: nounwind
define internal void @__thunk_CBlockingIo_Io_ready(ptr %0, ptr %1, { ptr } %2) #0 {
entry:
call void @CBlockingIo.ready(ptr %0, ptr %1, { ptr } %2)
ret void
}
; Function Attrs: nounwind
define internal i64 @__thunk_CBlockingIo_Io_poll(ptr %0, ptr %1, i64 %2) #0 {
entry:
%call = call i64 @CBlockingIo.poll(ptr %0, ptr %1, i64 %2)
ret i64 %call
}
; Function Attrs: nounwind
define internal i64 @__thunk_CBlockingIo_Io_now_ms(ptr %0, ptr %1) #0 {
entry:
%call = call i64 @CBlockingIo.now_ms(ptr %0, ptr %1)
ret i64 %call
}
; Function Attrs: nounwind
define internal ptr @__thunk_CBlockingIo_Io_arm_timer(ptr %0, ptr %1, i64 %2, { ptr } %3) #0 {
entry:
%call = call ptr @CBlockingIo.arm_timer(ptr %0, ptr %1, i64 %2, { ptr } %3)
ret ptr %call
}
; Function Attrs: nounwind
define internal void @print__ct_sbef99de9405780b8__pack_i64(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.654, i64 16 }, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %1, ptr %allocaN, align 8
%allocaN = alloca [1 x { i64, i64 }], align 8
%load = load i64, ptr %allocaN, align 8
%ba.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %load, 1
%igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0
store { i64, i64 } %ba.val, ptr %igp.ptr, align 8
%allocaN = alloca { ptr, i64 }, align 8
%igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %igp.ptr4, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 1, ptr %gepN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.655, i64 0 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 13)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%ba.val12 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %loadN, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val12)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 15, i64 1)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
call void @out(ptr %0, { ptr, i64 } %loadN)
ret void
}
; Function Attrs: nounwind
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
entry:
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.656, i64 16 })
ret { ptr, i64 } %call
}
; Function Attrs: nounwind
define internal void @print__ct_s95dfd2a009f17129__pack_i64(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.657, i64 8 }, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %1, ptr %allocaN, align 8
%allocaN = alloca [1 x { i64, i64 }], align 8
%load = load i64, ptr %allocaN, align 8
%ba.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %load, 1
%igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0
store { i64, i64 } %ba.val, ptr %igp.ptr, align 8
%allocaN = alloca { ptr, i64 }, align 8
%igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %igp.ptr4, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 1, ptr %gepN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.658, i64 0 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 5)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%ba.val12 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %loadN, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val12)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 7, i64 1)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
call void @out(ptr %0, { ptr, i64 } %loadN)
ret void
}
; Function Attrs: nounwind
define internal { ptr, i64 } @__insert_1(ptr %0) #0 {
entry:
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.659, i64 8 })
ret { ptr, i64 } %call
}
; Function Attrs: nounwind
define internal void @List__string.append(ptr %0, ptr %1, { ptr, i64 } %2, { ptr, ptr, ptr } %3) #0 {
entry:
%alloca = alloca ptr, align 8
%allocaN = alloca i64, align 8
%allocaN = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%allocaN = alloca { ptr, ptr, ptr }, align 8
store { ptr, ptr, ptr } %3, ptr %allocaN, align 8
%load = load ptr, ptr %alloca, align 8
%loadN = load { ptr, i64, i64 }, ptr %load, align 8
%sg = extractvalue { ptr, i64, i64 } %loadN, 1
%loadN = load ptr, ptr %alloca, align 8
%loadN = load { ptr, i64, i64 }, ptr %loadN, align 8
%sgN = extractvalue { ptr, i64, i64 } %loadN, 2
%icmp = icmp sge i64 %sg, %sgN
br i1 %icmp, label %if.then.45, label %if.merge.46
if.then.45: ; preds = %entry
%loadN = load ptr, ptr %alloca, align 8
%loadN = load { ptr, i64, i64 }, ptr %loadN, align 8
%sgN = extractvalue { ptr, i64, i64 } %loadN, 2
%icmpN = icmp eq i64 %sgN, 0
br i1 %icmpN, label %if.then.47, label %if.else.48
if.merge.46: ; preds = %if.merge.51, %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load ptr, ptr %alloca, align 8
%loadN = load { ptr, i64, i64 }, ptr %loadN, align 8
%sgN = extractvalue { ptr, i64, i64 } %loadN, 1
%loadN = load ptr, ptr %alloca, align 8
%loadN = load { ptr, i64, i64 }, ptr %loadN, align 8
%sgN = extractvalue { ptr, i64, i64 } %loadN, 0
%igp.ptr = getelementptr { ptr, i64 }, ptr %sgN, i64 %sgN
store { ptr, i64 } %loadN, ptr %igp.ptr, align 8
%loadN = load ptr, ptr %alloca, align 8
%gep = getelementptr inbounds nuw { ptr, i64, i64 }, ptr %loadN, i32 0, i32 1
%loadN = load i64, ptr %gep, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %gep, align 8
ret void
if.then.47: ; preds = %if.then.45
br label %if.merge.49
if.else.48: ; preds = %if.then.45
%loadN = load ptr, ptr %alloca, align 8
%loadN = load { ptr, i64, i64 }, ptr %loadN, align 8
%sgN = extractvalue { ptr, i64, i64 } %loadN, 2
%mul = mul i64 %sgN, 2
br label %if.merge.49
if.merge.49: ; preds = %if.else.48, %if.then.47
%bp = phi i64 [ 4, %if.then.47 ], [ %mul, %if.else.48 ]
store i64 %bp, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%mulN = mul i64 %loadN, 16
%loadN = load { ptr, ptr, ptr }, ptr %allocaN, align 8
%sgN = extractvalue { ptr, ptr, ptr } %loadN, 0
%sgN = extractvalue { ptr, ptr, ptr } %loadN, 1
%icall = call ptr %sgN(ptr %0, ptr %sgN, i64 %mulN)
store ptr %icall, ptr %allocaN, align 8
%loadN = load ptr, ptr %alloca, align 8
%loadN = load { ptr, i64, i64 }, ptr %loadN, align 8
%sgN = extractvalue { ptr, i64, i64 } %loadN, 1
%icmpN = icmp sgt i64 %sgN, 0
br i1 %icmpN, label %if.then.50, label %if.merge.51
if.then.50: ; preds = %if.merge.49
%loadN = load ptr, ptr %allocaN, align 8
%loadN = load ptr, ptr %alloca, align 8
%loadN = load { ptr, i64, i64 }, ptr %loadN, align 8
%sgN = extractvalue { ptr, i64, i64 } %loadN, 0
%loadN = load ptr, ptr %alloca, align 8
%loadN = load { ptr, i64, i64 }, ptr %loadN, align 8
%sgN = extractvalue { ptr, i64, i64 } %loadN, 1
%mulN = mul i64 %sgN, 16
%call = call ptr @memcpy(ptr %loadN, ptr %sgN, i64 %mulN)
%loadN = load ptr, ptr %alloca, align 8
%loadN = load { ptr, i64, i64 }, ptr %loadN, align 8
%sgN = extractvalue { ptr, i64, i64 } %loadN, 0
%loadN = load { ptr, ptr, ptr }, ptr %allocaN, align 8
%sgN = extractvalue { ptr, ptr, ptr } %loadN, 0
%sgN = extractvalue { ptr, ptr, ptr } %loadN, 2
call void %sgN(ptr %0, ptr %sgN, ptr %sgN)
br label %if.merge.51
if.merge.51: ; preds = %if.then.50, %if.merge.49
%loadN = load ptr, ptr %allocaN, align 8
%loadN = load ptr, ptr %alloca, align 8
%gepN = getelementptr inbounds nuw { ptr, i64, i64 }, ptr %loadN, i32 0, i32 0
store ptr %loadN, ptr %gepN, align 8
%loadN = load i64, ptr %allocaN, align 8
%loadN = load ptr, ptr %alloca, align 8
%gepN = getelementptr inbounds nuw { ptr, i64, i64 }, ptr %loadN, i32 0, i32 2
store i64 %loadN, ptr %gepN, align 8
br label %if.merge.46
}
; Function Attrs: nounwind
define internal { ptr, i64 } @format__ct_sac8bee93bac43fa__pack_string_string_string_string(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2, { ptr, i64 } %3, { ptr, i64 } %4) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.660, i64 848 }, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %3, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %4, ptr %allocaN, align 8
%allocaN = alloca [4 x { i64, i64 }], align 8
%load = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { ptr, i64 } %load, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
%igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0
store { i64, i64 } %ba.val, ptr %igp.ptr, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp7 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp7, align 8
%ba.p2i8 = ptrtoint ptr %ba.tmp7 to i64
%ba.val9 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i8, 1
%igp.ptr10 = getelementptr { i64, i64 }, ptr %allocaN, i64 1
store { i64, i64 } %ba.val9, ptr %igp.ptr10, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp12 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp12, align 8
%ba.p2i13 = ptrtoint ptr %ba.tmp12 to i64
%ba.val14 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i13, 1
%igp.ptr15 = getelementptr { i64, i64 }, ptr %allocaN, i64 2
store { i64, i64 } %ba.val14, ptr %igp.ptr15, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp17 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp17, align 8
%ba.p2i18 = ptrtoint ptr %ba.tmp17 to i64
%ba.val19 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i18, 1
%igp.ptr20 = getelementptr { i64, i64 }, ptr %allocaN, i64 3
store { i64, i64 } %ba.val19, ptr %igp.ptr20, align 8
%allocaN = alloca { ptr, i64 }, align 8
%igp.ptr22 = getelementptr { i64, i64 }, ptr %allocaN, i64 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %igp.ptr22, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 4, ptr %gepN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.661, i64 0 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 121)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp30 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp30, align 8
%ba.p2i31 = ptrtoint ptr %ba.tmp30 to i64
%ba.val32 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i31, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val32)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 123, i64 167)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp41 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp41, align 8
%ba.p2i42 = ptrtoint ptr %ba.tmp41 to i64
%ba.val43 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i42, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val43)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 292, i64 70)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp52 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp52, align 8
%ba.p2i53 = ptrtoint ptr %ba.tmp52 to i64
%ba.val54 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i53, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val54)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 364, i64 65)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp63 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp63, align 8
%ba.p2i64 = ptrtoint ptr %ba.tmp63 to i64
%ba.val65 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i64, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val65)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 431, i64 417)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @__insert_2(ptr %0) #0 {
entry:
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.662, i64 848 })
ret { ptr, i64 } %call
}
; Function Attrs: nounwind
define internal { ptr, i64 } @format__ct_sf986337c7a126d2b__pack_string_string_string_string(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2, { ptr, i64 } %3, { ptr, i64 } %4) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.663, i64 868 }, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %3, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %4, ptr %allocaN, align 8
%allocaN = alloca [4 x { i64, i64 }], align 8
%load = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { ptr, i64 } %load, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
%igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0
store { i64, i64 } %ba.val, ptr %igp.ptr, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp7 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp7, align 8
%ba.p2i8 = ptrtoint ptr %ba.tmp7 to i64
%ba.val9 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i8, 1
%igp.ptr10 = getelementptr { i64, i64 }, ptr %allocaN, i64 1
store { i64, i64 } %ba.val9, ptr %igp.ptr10, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp12 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp12, align 8
%ba.p2i13 = ptrtoint ptr %ba.tmp12 to i64
%ba.val14 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i13, 1
%igp.ptr15 = getelementptr { i64, i64 }, ptr %allocaN, i64 2
store { i64, i64 } %ba.val14, ptr %igp.ptr15, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp17 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp17, align 8
%ba.p2i18 = ptrtoint ptr %ba.tmp17 to i64
%ba.val19 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i18, 1
%igp.ptr20 = getelementptr { i64, i64 }, ptr %allocaN, i64 3
store { i64, i64 } %ba.val19, ptr %igp.ptr20, align 8
%allocaN = alloca { ptr, i64 }, align 8
%igp.ptr22 = getelementptr { i64, i64 }, ptr %allocaN, i64 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %igp.ptr22, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 4, ptr %gepN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.664, i64 0 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 121)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp30 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp30, align 8
%ba.p2i31 = ptrtoint ptr %ba.tmp30 to i64
%ba.val32 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i31, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val32)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 123, i64 167)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp41 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp41, align 8
%ba.p2i42 = ptrtoint ptr %ba.tmp41 to i64
%ba.val43 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i42, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val43)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 292, i64 162)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp52 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp52, align 8
%ba.p2i53 = ptrtoint ptr %ba.tmp52 to i64
%ba.val54 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i53, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val54)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 456, i64 151)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp63 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp63, align 8
%ba.p2i64 = ptrtoint ptr %ba.tmp63 to i64
%ba.val65 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i64, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val65)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 609, i64 259)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @__insert_3(ptr %0) #0 {
entry:
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.665, i64 868 })
ret { ptr, i64 } %call
}
; Function Attrs: nounwind
define internal { ptr, i64 } @format__ct_s27eb77fba02bd25d__pack_string_string_string_string_string(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2, { ptr, i64 } %3, { ptr, i64 } %4, { ptr, i64 } %5) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.666, i64 1400 }, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %3, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %4, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %5, ptr %allocaN, align 8
%allocaN = alloca [5 x { i64, i64 }], align 8
%load = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { ptr, i64 } %load, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
%igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0
store { i64, i64 } %ba.val, ptr %igp.ptr, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp8 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp8, align 8
%ba.p2i9 = ptrtoint ptr %ba.tmp8 to i64
%ba.val10 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i9, 1
%igp.ptr11 = getelementptr { i64, i64 }, ptr %allocaN, i64 1
store { i64, i64 } %ba.val10, ptr %igp.ptr11, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp13 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp13, align 8
%ba.p2i14 = ptrtoint ptr %ba.tmp13 to i64
%ba.val15 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i14, 1
%igp.ptr16 = getelementptr { i64, i64 }, ptr %allocaN, i64 2
store { i64, i64 } %ba.val15, ptr %igp.ptr16, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp18 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp18, align 8
%ba.p2i19 = ptrtoint ptr %ba.tmp18 to i64
%ba.val20 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i19, 1
%igp.ptr21 = getelementptr { i64, i64 }, ptr %allocaN, i64 3
store { i64, i64 } %ba.val20, ptr %igp.ptr21, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp23 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp23, align 8
%ba.p2i24 = ptrtoint ptr %ba.tmp23 to i64
%ba.val25 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i24, 1
%igp.ptr26 = getelementptr { i64, i64 }, ptr %allocaN, i64 4
store { i64, i64 } %ba.val25, ptr %igp.ptr26, align 8
%allocaN = alloca { ptr, i64 }, align 8
%igp.ptr28 = getelementptr { i64, i64 }, ptr %allocaN, i64 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %igp.ptr28, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 5, ptr %gepN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.667, i64 0 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 217)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp36 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp36, align 8
%ba.p2i37 = ptrtoint ptr %ba.tmp36 to i64
%ba.val38 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i37, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val38)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 219, i64 50)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp47 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp47, align 8
%ba.p2i48 = ptrtoint ptr %ba.tmp47 to i64
%ba.val49 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i48, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val49)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 271, i64 56)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp58 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp58, align 8
%ba.p2i59 = ptrtoint ptr %ba.tmp58 to i64
%ba.val60 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i59, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val60)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 329, i64 236)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp69 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp69, align 8
%ba.p2i70 = ptrtoint ptr %ba.tmp69 to i64
%ba.val71 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i70, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val71)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 567, i64 804)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp80 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp80, align 8
%ba.p2i81 = ptrtoint ptr %ba.tmp80 to i64
%ba.val82 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i81, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val82)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 1373, i64 27)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @__insert_4(ptr %0) #0 {
entry:
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.668, i64 1400 })
ret { ptr, i64 } %call
}
; Function Attrs: nounwind
define internal { ptr, i64 } @format__ct_s7dee655660eb2808__pack_string_string_string(ptr %0, { ptr, i64 } %1, { ptr, i64 } %2, { ptr, i64 } %3) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.669, i64 538 }, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %2, ptr %allocaN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %3, ptr %allocaN, align 8
%allocaN = alloca [3 x { i64, i64 }], align 8
%load = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { ptr, i64 } %load, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
%igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0
store { i64, i64 } %ba.val, ptr %igp.ptr, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp6 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp6, align 8
%ba.p2i7 = ptrtoint ptr %ba.tmp6 to i64
%ba.val8 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i7, 1
%igp.ptr9 = getelementptr { i64, i64 }, ptr %allocaN, i64 1
store { i64, i64 } %ba.val8, ptr %igp.ptr9, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp11 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp11, align 8
%ba.p2i12 = ptrtoint ptr %ba.tmp11 to i64
%ba.val13 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i12, 1
%igp.ptr14 = getelementptr { i64, i64 }, ptr %allocaN, i64 2
store { i64, i64 } %ba.val13, ptr %igp.ptr14, align 8
%allocaN = alloca { ptr, i64 }, align 8
%igp.ptr16 = getelementptr { i64, i64 }, ptr %allocaN, i64 0
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
store ptr %igp.ptr16, ptr %gep, align 8
%gepN = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 1
store i64 3, ptr %gepN, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.670, i64 0 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 217)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp24 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp24, align 8
%ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64
%ba.val26 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i25, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val26)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 219, i64 50)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp35 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp35, align 8
%ba.p2i36 = ptrtoint ptr %ba.tmp35 to i64
%ba.val37 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i36, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val37)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 271, i64 56)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%ba.tmp46 = alloca { ptr, i64 }, align 8
store { ptr, i64 } %loadN, ptr %ba.tmp46, align 8
%ba.p2i47 = ptrtoint ptr %ba.tmp46 to i64
%ba.val48 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i47, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val48)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 329, i64 209)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @__insert_5(ptr %0) #0 {
entry:
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.671, i64 538 })
ret { ptr, i64 } %call
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Source_Location(ptr %0, { { ptr, i64 }, i32, i32, { ptr, i64 } } %1) #0 {
entry:
%alloca = alloca { { ptr, i64 }, i32, i32, { ptr, i64 } }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
%ba.tmp26 = alloca { ptr, i64 }, align 8
store { { ptr, i64 }, i32, i32, { ptr, i64 } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 15 }, { ptr, i64 } { ptr @str.673, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.620
while.hdr.620: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 4
br i1 %icmp, label %while.body.621, label %while.exit.622
while.body.621: ; preds = %while.hdr.620
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.623, label %if.merge.624
while.exit.622: ; preds = %while.hdr.620
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.674, i64 1 })
ret { ptr, i64 } %callN
if.then.623: ; preds = %while.body.621
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.675, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.624
if.merge.624: ; preds = %if.then.623, %while.body.621
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.679, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case24
]
fv.merge: ; preds = %fv.default, %fv.case24, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val23, %fv.case20 ], [ %fv.val28, %fv.case24 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.620
fv.default: ; preds = %if.merge.624
br label %fv.merge
fv.case: ; preds = %if.merge.624
%fv.field = extractvalue { { ptr, i64 }, i32, i32, { ptr, i64 } } %loadN, 0
store { ptr, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.624
%fv.field18 = extractvalue { { ptr, i64 }, i32, i32, { ptr, i64 } } %loadN, 1
%iN = sext i32 %fv.field18 to i64
%fv.val19 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.624
%fv.field21 = extractvalue { { ptr, i64 }, i32, i32, { ptr, i64 } } %loadN, 2
%iN = sext i32 %fv.field21 to i64
%fv.val23 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
fv.case24: ; preds = %if.merge.624
%fv.field25 = extractvalue { { ptr, i64 }, i32, i32, { ptr, i64 } } %loadN, 3
store { ptr, i64 } %fv.field25, ptr %ba.tmp26, align 8
%ba.p2i27 = ptrtoint ptr %ba.tmp26 to i64
%fv.val28 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i27, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, ptr } %1) #0 {
entry:
%alloca = alloca { ptr, ptr, ptr }, align 8
store { ptr, ptr, ptr } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 9 }, { ptr, i64 } { ptr @str.681, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.625
while.hdr.625: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.626, label %while.exit.627
while.body.626: ; preds = %while.hdr.625
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.628, label %if.merge.629
while.exit.627: ; preds = %while.hdr.625
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.682, i64 1 })
ret { ptr, i64 } %callN
if.then.628: ; preds = %while.body.626
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.683, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.629
if.merge.629: ; preds = %if.then.628, %while.body.626
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.687, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.688, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, ptr, ptr }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case21
]
fv.merge: ; preds = %fv.default, %fv.case21, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val20, %fv.case17 ], [ %fv.val24, %fv.case21 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.625
fv.default: ; preds = %if.merge.629
br label %fv.merge
fv.case: ; preds = %if.merge.629
%fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.629
%fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1
%pNi19 = ptrtoint ptr %fv.field18 to i64
%fv.val20 = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi19, 1
br label %fv.merge
fv.case21: ; preds = %if.merge.629
%fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2
%pNi23 = ptrtoint ptr %fv.field22 to i64
%fv.val24 = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi23, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__SpawnOpts(ptr %0, { i64 } %1) #0 {
entry:
%alloca = alloca { i64 }, align 8
store { i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, i64 9 }, { ptr, i64 } { ptr @str.690, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.630
while.hdr.630: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 1
br i1 %icmp, label %while.body.631, label %while.exit.632
while.body.631: ; preds = %while.hdr.630
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.633, label %if.merge.634
while.exit.632: ; preds = %while.hdr.630
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.691, i64 1 })
ret { ptr, i64 } %callN
if.then.633: ; preds = %while.body.631
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.692, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.634
if.merge.634: ; preds = %if.then.633, %while.body.631
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.694, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.695, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
]
fv.merge: ; preds = %fv.default, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.630
fv.default: ; preds = %if.merge.634
br label %fv.merge
fv.case: ; preds = %if.merge.634
%fv.field = extractvalue { i64 } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 104, i64 undef }, i64 %fv.field, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__ParkToken(ptr %0, { ptr } %1) #0 {
entry:
%alloca = alloca { ptr }, align 8
store { ptr } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.696, i64 9 }, { ptr, i64 } { ptr @str.697, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.635
while.hdr.635: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 1
br i1 %icmp, label %while.body.636, label %while.exit.637
while.body.636: ; preds = %while.hdr.635
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.638, label %if.merge.639
while.exit.637: ; preds = %while.hdr.635
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.698, i64 1 })
ret { ptr, i64 } %callN
if.then.638: ; preds = %while.body.636
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.699, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.639
if.merge.639: ; preds = %if.then.638, %while.body.636
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.701, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.702, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
]
fv.merge: ; preds = %fv.default, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.635
fv.default: ; preds = %if.merge.639
br label %fv.merge
fv.case: ; preds = %if.merge.639
%fv.field = extractvalue { ptr } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Io(ptr %0, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %1) #0 {
entry:
%alloca = alloca { ptr, ptr, ptr, ptr, ptr, ptr, ptr }, align 8
store { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, i64 2 }, { ptr, i64 } { ptr @str.704, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.640
while.hdr.640: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 7
br i1 %icmp, label %while.body.641, label %while.exit.642
while.body.641: ; preds = %while.hdr.640
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.643, label %if.merge.644
while.exit.642: ; preds = %while.hdr.640
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.705, i64 1 })
ret { ptr, i64 } %callN
if.then.643: ; preds = %while.body.641
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.706, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.644
if.merge.644: ; preds = %if.then.643, %while.body.641
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.714, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, ptr, ptr, ptr, ptr, ptr, ptr }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case21
i64 3, label %fv.case25
i64 4, label %fv.case29
i64 5, label %fv.case33
i64 6, label %fv.case37
]
fv.merge: ; preds = %fv.default, %fv.case37, %fv.case33, %fv.case29, %fv.case25, %fv.case21, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val20, %fv.case17 ], [ %fv.val24, %fv.case21 ], [ %fv.val28, %fv.case25 ], [ %fv.val32, %fv.case29 ], [ %fv.val36, %fv.case33 ], [ %fv.val40, %fv.case37 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.640
fv.default: ; preds = %if.merge.644
br label %fv.merge
fv.case: ; preds = %if.merge.644
%fv.field = extractvalue { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.644
%fv.field18 = extractvalue { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %loadN, 1
%pNi19 = ptrtoint ptr %fv.field18 to i64
%fv.val20 = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi19, 1
br label %fv.merge
fv.case21: ; preds = %if.merge.644
%fv.field22 = extractvalue { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %loadN, 2
%pNi23 = ptrtoint ptr %fv.field22 to i64
%fv.val24 = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi23, 1
br label %fv.merge
fv.case25: ; preds = %if.merge.644
%fv.field26 = extractvalue { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %loadN, 3
%pNi27 = ptrtoint ptr %fv.field26 to i64
%fv.val28 = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi27, 1
br label %fv.merge
fv.case29: ; preds = %if.merge.644
%fv.field30 = extractvalue { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %loadN, 4
%pNi31 = ptrtoint ptr %fv.field30 to i64
%fv.val32 = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi31, 1
br label %fv.merge
fv.case33: ; preds = %if.merge.644
%fv.field34 = extractvalue { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %loadN, 5
%pNi35 = ptrtoint ptr %fv.field34 to i64
%fv.val36 = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi35, 1
br label %fv.merge
fv.case37: ; preds = %if.merge.644
%fv.field38 = extractvalue { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %loadN, 6
%pNi39 = ptrtoint ptr %fv.field38 to i64
%fv.val40 = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi39, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Context(ptr %0, { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } } %1) #0 {
entry:
%alloca = alloca { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } }, align 8
%ba.tmp = alloca { ptr, ptr, ptr }, align 8
%ba.tmp22 = alloca { ptr, ptr, ptr, ptr, ptr, ptr, ptr }, align 8
store { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.716, i64 7 }, { ptr, i64 } { ptr @str.717, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.645
while.hdr.645: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.646, label %while.exit.647
while.body.646: ; preds = %while.hdr.645
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.648, label %if.merge.649
while.exit.647: ; preds = %while.hdr.645
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 1 })
ret { ptr, i64 } %callN
if.then.648: ; preds = %while.body.646
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.719, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.649
if.merge.649: ; preds = %if.then.648, %while.body.646
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.723, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.724, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
]
fv.merge: ; preds = %fv.default, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val24, %fv.case20 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.645
fv.default: ; preds = %if.merge.649
br label %fv.merge
fv.case: ; preds = %if.merge.649
%fv.field = extractvalue { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } } %loadN, 0
store { ptr, ptr, ptr } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 103, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.649
%fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } } %loadN, 1
%pNi = ptrtoint ptr %fv.field18 to i64
%fv.val19 = insertvalue { i64, i64 } { i64 101, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.649
%fv.field21 = extractvalue { { ptr, ptr, ptr }, ptr, { ptr, ptr, ptr, ptr, ptr, ptr, ptr } } %loadN, 2
store { ptr, ptr, ptr, ptr, ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8
%ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64
%fv.val24 = insertvalue { i64, i64 } { i64 107, i64 undef }, i64 %ba.p2i23, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1) #0 {
entry:
%alloca = alloca { i64, i64 }, align 8
store { i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.725, i64 8 }, { ptr, i64 } { ptr @str.726, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.650
while.hdr.650: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 2
br i1 %icmp, label %while.body.651, label %while.exit.652
while.body.651: ; preds = %while.hdr.650
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.653, label %if.merge.654
while.exit.652: ; preds = %while.hdr.650
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 1 })
ret { ptr, i64 } %callN
if.then.653: ; preds = %while.body.651
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.728, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.654
if.merge.654: ; preds = %if.then.653, %while.body.651
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.731, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.732, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
]
fv.merge: ; preds = %fv.default, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.650
fv.default: ; preds = %if.merge.654
br label %fv.merge
fv.case: ; preds = %if.merge.654
%fv.field = extractvalue { i64, i64 } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.654
%fv.field18 = extractvalue { i64, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__CBlockingIo(ptr %0, {} %1) #0 {
entry:
%alloca = alloca {}, align 8
store {} %1, ptr %alloca, align 1
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, i64 11 }, { ptr, i64 } { ptr @str.734, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.655
while.hdr.655: ; preds = %if.merge.659, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 0
br i1 %icmp, label %while.body.656, label %while.exit.657
while.body.656: ; preds = %while.hdr.655
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.658, label %if.merge.659
while.exit.657: ; preds = %while.hdr.655
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 1 })
ret { ptr, i64 } %callN
if.then.658: ; preds = %while.body.656
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.736, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.659
if.merge.659: ; preds = %if.then.658, %while.body.656
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.737, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.738, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load {}, ptr %alloca, align 1
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } { i64 17, i64 0 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.655
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__CAllocator(ptr %0, {} %1) #0 {
entry:
%alloca = alloca {}, align 8
store {} %1, ptr %alloca, align 1
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.739, i64 10 }, { ptr, i64 } { ptr @str.740, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.660
while.hdr.660: ; preds = %if.merge.664, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 0
br i1 %icmp, label %while.body.661, label %while.exit.662
while.body.661: ; preds = %while.hdr.660
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.663, label %if.merge.664
while.exit.662: ; preds = %while.hdr.660
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 1 })
ret { ptr, i64 } %callN
if.then.663: ; preds = %while.body.661
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.742, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.664
if.merge.664: ; preds = %if.then.663, %while.body.661
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.743, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.744, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load {}, ptr %alloca, align 1
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } { i64 17, i64 0 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.660
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__GPA(ptr %0, { i64 } %1) #0 {
entry:
%alloca = alloca { i64 }, align 8
store { i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, i64 3 }, { ptr, i64 } { ptr @str.746, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.665
while.hdr.665: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 1
br i1 %icmp, label %while.body.666, label %while.exit.667
while.body.666: ; preds = %while.hdr.665
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.668, label %if.merge.669
while.exit.667: ; preds = %while.hdr.665
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 1 })
ret { ptr, i64 } %callN
if.then.668: ; preds = %while.body.666
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.748, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.669
if.merge.669: ; preds = %if.then.668, %while.body.666
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.750, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.751, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
]
fv.merge: ; preds = %fv.default, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.665
fv.default: ; preds = %if.merge.669
br label %fv.merge
fv.case: ; preds = %if.merge.669
%fv.field = extractvalue { i64 } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 10 }, { ptr, i64 } { ptr @str.753, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.670
while.hdr.670: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 2
br i1 %icmp, label %while.body.671, label %while.exit.672
while.body.671: ; preds = %while.hdr.670
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.673, label %if.merge.674
while.exit.672: ; preds = %while.hdr.670
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.754, i64 1 })
ret { ptr, i64 } %callN
if.then.673: ; preds = %while.body.671
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.755, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.674
if.merge.674: ; preds = %if.then.673, %while.body.671
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.758, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.759, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
]
fv.merge: ; preds = %fv.default, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.670
fv.default: ; preds = %if.merge.674
br label %fv.merge
fv.case: ; preds = %if.merge.674
%fv.field = extractvalue { ptr, i64 } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 124, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.674
%fv.field18 = extractvalue { ptr, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Arena(ptr %0, { ptr, i64, { ptr, ptr, ptr } } %1) #0 {
entry:
%alloca = alloca { ptr, i64, { ptr, ptr, ptr } }, align 8
%ba.tmp = alloca { ptr, ptr, ptr }, align 8
store { ptr, i64, { ptr, ptr, ptr } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 5 }, { ptr, i64 } { ptr @str.761, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.675
while.hdr.675: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.676, label %while.exit.677
while.body.676: ; preds = %while.hdr.675
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.678, label %if.merge.679
while.exit.677: ; preds = %while.hdr.675
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.762, i64 1 })
ret { ptr, i64 } %callN
if.then.678: ; preds = %while.body.676
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.763, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.679
if.merge.679: ; preds = %if.then.678, %while.body.676
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.767, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.768, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
]
fv.merge: ; preds = %fv.default, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.675
fv.default: ; preds = %if.merge.679
br label %fv.merge
fv.case: ; preds = %if.merge.679
%fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 124, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.679
%fv.field18 = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.679
%fv.field21 = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 2
store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val22 = insertvalue { i64, i64 } { i64 103, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__BufAlloc(ptr %0, { ptr, i64, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64, i64 }, align 8
store { ptr, i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 8 }, { ptr, i64 } { ptr @str.770, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.680
while.hdr.680: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.681, label %while.exit.682
while.body.681: ; preds = %while.hdr.680
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.683, label %if.merge.684
while.exit.682: ; preds = %while.hdr.680
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.771, i64 1 })
ret { ptr, i64 } %callN
if.then.683: ; preds = %while.body.681
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.772, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.684
if.merge.684: ; preds = %if.then.683, %while.body.681
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.776, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.777, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
]
fv.merge: ; preds = %fv.default, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.680
fv.default: ; preds = %if.merge.684
br label %fv.merge
fv.case: ; preds = %if.merge.684
%fv.field = extractvalue { ptr, i64, i64 } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 100, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.684
%fv.field18 = extractvalue { ptr, i64, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.684
%fv.field21 = extractvalue { ptr, i64, i64 } %loadN, 2
%fv.val22 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field21, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__TrackingAllocator(ptr %0, { { ptr, ptr, ptr }, i64, i64, i64 } %1) #0 {
entry:
%alloca = alloca { { ptr, ptr, ptr }, i64, i64, i64 }, align 8
%ba.tmp = alloca { ptr, ptr, ptr }, align 8
store { { ptr, ptr, ptr }, i64, i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 17 }, { ptr, i64 } { ptr @str.779, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.685
while.hdr.685: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 4
br i1 %icmp, label %while.body.686, label %while.exit.687
while.body.686: ; preds = %while.hdr.685
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.688, label %if.merge.689
while.exit.687: ; preds = %while.hdr.685
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.780, i64 1 })
ret { ptr, i64 } %callN
if.then.688: ; preds = %while.body.686
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.781, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.689
if.merge.689: ; preds = %if.then.688, %while.body.686
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.786, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.787, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, ptr, ptr }, i64, i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case23
]
fv.merge: ; preds = %fv.default, %fv.case23, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ %fv.val25, %fv.case23 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.685
fv.default: ; preds = %if.merge.689
br label %fv.merge
fv.case: ; preds = %if.merge.689
%fv.field = extractvalue { { ptr, ptr, ptr }, i64, i64, i64 } %loadN, 0
store { ptr, ptr, ptr } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 103, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.689
%fv.field18 = extractvalue { { ptr, ptr, ptr }, i64, i64, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.689
%fv.field21 = extractvalue { { ptr, ptr, ptr }, i64, i64, i64 } %loadN, 2
%fv.val22 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field21, 1
br label %fv.merge
fv.case23: ; preds = %if.merge.689
%fv.field24 = extractvalue { { ptr, ptr, ptr }, i64, i64, i64 } %loadN, 3
%fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__File(ptr %0, { i32 } %1) #0 {
entry:
%alloca = alloca { i32 }, align 8
store { i32 } %1, ptr %alloca, align 4
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 4 }, { ptr, i64 } { ptr @str.789, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.690
while.hdr.690: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 1
br i1 %icmp, label %while.body.691, label %while.exit.692
while.body.691: ; preds = %while.hdr.690
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.693, label %if.merge.694
while.exit.692: ; preds = %while.hdr.690
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.790, i64 1 })
ret { ptr, i64 } %callN
if.then.693: ; preds = %while.body.691
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.791, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.694
if.merge.694: ; preds = %if.then.693, %while.body.691
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.793, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.794, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i32 }, ptr %alloca, align 4
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
]
fv.merge: ; preds = %fv.default, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.690
fv.default: ; preds = %if.merge.694
br label %fv.merge
fv.case: ; preds = %if.merge.694
%fv.field = extractvalue { i32 } %loadN, 0
%iN = sext i32 %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__TraceFrame(ptr %0, { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } %1) #0 {
entry:
%alloca = alloca { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
%ba.tmp26 = alloca { ptr, i64 }, align 8
%ba.tmp31 = alloca { ptr, i64 }, align 8
store { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.795, i64 10 }, { ptr, i64 } { ptr @str.796, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.695
while.hdr.695: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 5
br i1 %icmp, label %while.body.696, label %while.exit.697
while.body.696: ; preds = %while.hdr.695
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.698, label %if.merge.699
while.exit.697: ; preds = %while.hdr.695
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.797, i64 1 })
ret { ptr, i64 } %callN
if.then.698: ; preds = %while.body.696
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.798, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.699
if.merge.699: ; preds = %if.then.698, %while.body.696
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.804, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.805, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case24
i64 4, label %fv.case29
]
fv.merge: ; preds = %fv.default, %fv.case29, %fv.case24, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val23, %fv.case20 ], [ %fv.val28, %fv.case24 ], [ %fv.val33, %fv.case29 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.695
fv.default: ; preds = %if.merge.699
br label %fv.merge
fv.case: ; preds = %if.merge.699
%fv.field = extractvalue { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } %loadN, 0
store { ptr, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.699
%fv.field18 = extractvalue { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } %loadN, 1
%iN = sext i32 %fv.field18 to i64
%fv.val19 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.699
%fv.field21 = extractvalue { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } %loadN, 2
%iN = sext i32 %fv.field21 to i64
%fv.val23 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
fv.case24: ; preds = %if.merge.699
%fv.field25 = extractvalue { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } %loadN, 3
store { ptr, i64 } %fv.field25, ptr %ba.tmp26, align 8
%ba.p2i27 = ptrtoint ptr %ba.tmp26 to i64
%fv.val28 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i27, 1
br label %fv.merge
fv.case29: ; preds = %if.merge.699
%fv.field30 = extractvalue { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } %loadN, 4
store { ptr, i64 } %fv.field30, ptr %ba.tmp31, align 8
%ba.p2i32 = ptrtoint ptr %ba.tmp31 to i64
%fv.val33 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i32, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__ProcessResult(ptr %0, { i32, { ptr, i64 } } %1) #0 {
entry:
%alloca = alloca { i32, { ptr, i64 } }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { i32, { ptr, i64 } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 13 }, { ptr, i64 } { ptr @str.807, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.700
while.hdr.700: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 2
br i1 %icmp, label %while.body.701, label %while.exit.702
while.body.701: ; preds = %while.hdr.700
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.703, label %if.merge.704
while.exit.702: ; preds = %while.hdr.700
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.808, i64 1 })
ret { ptr, i64 } %callN
if.then.703: ; preds = %while.body.701
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.809, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.704
if.merge.704: ; preds = %if.then.703, %while.body.701
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.812, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.813, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i32, { ptr, i64 } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
]
fv.merge: ; preds = %fv.default, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.700
fv.default: ; preds = %if.merge.704
br label %fv.merge
fv.case: ; preds = %if.merge.704
%fv.field = extractvalue { i32, { ptr, i64 } } %loadN, 0
%iN = sext i32 %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.704
%fv.field18 = extractvalue { i32, { ptr, i64 } } %loadN, 1
store { ptr, i64 } %fv.field18, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val19 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, i32, i64 } %1) #0 {
entry:
%alloca = alloca { i8, i8, i16, i32, i64 }, align 8
store { i8, i8, i16, i32, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 8 }, { ptr, i64 } { ptr @str.815, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.705
while.hdr.705: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 5
br i1 %icmp, label %while.body.706, label %while.exit.707
while.body.706: ; preds = %while.hdr.705
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.708, label %if.merge.709
while.exit.707: ; preds = %while.hdr.705
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.816, i64 1 })
ret { ptr, i64 } %callN
if.then.708: ; preds = %while.body.706
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.817, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.709
if.merge.709: ; preds = %if.then.708, %while.body.706
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.823, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.824, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i8, i8, i16, i32, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case21
i64 3, label %fv.case25
i64 4, label %fv.case29
]
fv.merge: ; preds = %fv.default, %fv.case29, %fv.case25, %fv.case21, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val20, %fv.case17 ], [ %fv.val24, %fv.case21 ], [ %fv.val28, %fv.case25 ], [ %fv.val31, %fv.case29 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.705
fv.default: ; preds = %if.merge.709
br label %fv.merge
fv.case: ; preds = %if.merge.709
%fv.field = extractvalue { i8, i8, i16, i32, i64 } %loadN, 0
%zN = zext i8 %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 6, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.709
%fv.field18 = extractvalue { i8, i8, i16, i32, i64 } %loadN, 1
%zN = zext i8 %fv.field18 to i64
%fv.val20 = insertvalue { i64, i64 } { i64 6, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case21: ; preds = %if.merge.709
%fv.field22 = extractvalue { i8, i8, i16, i32, i64 } %loadN, 2
%zN = zext i16 %fv.field22 to i64
%fv.val24 = insertvalue { i64, i64 } { i64 7, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case25: ; preds = %if.merge.709
%fv.field26 = extractvalue { i8, i8, i16, i32, i64 } %loadN, 3
%zN = zext i32 %fv.field26 to i64
%fv.val28 = insertvalue { i64, i64 } { i64 8, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case29: ; preds = %if.merge.709
%fv.field30 = extractvalue { i8, i8, i16, i32, i64 } %loadN, 4
%fv.val31 = insertvalue { i64, i64 } { i64 9, i64 undef }, i64 %fv.field30, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64, i64 }, align 8
store { ptr, i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 5 }, { ptr, i64 } { ptr @str.826, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.710
while.hdr.710: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.711, label %while.exit.712
while.body.711: ; preds = %while.hdr.710
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.713, label %if.merge.714
while.exit.712: ; preds = %while.hdr.710
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.827, i64 1 })
ret { ptr, i64 } %callN
if.then.713: ; preds = %while.body.711
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.828, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.714
if.merge.714: ; preds = %if.then.713, %while.body.711
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.832, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.833, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
]
fv.merge: ; preds = %fv.default, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.710
fv.default: ; preds = %if.merge.714
br label %fv.merge
fv.case: ; preds = %if.merge.714
%fv.field = extractvalue { ptr, i64, i64 } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 153, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.714
%fv.field18 = extractvalue { ptr, i64, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.714
%fv.field21 = extractvalue { ptr, i64, i64 } %loadN, 2
%fv.val22 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field21, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64, i64 }, align 8
store { ptr, i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 6 }, { ptr, i64 } { ptr @str.835, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.715
while.hdr.715: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.716, label %while.exit.717
while.body.716: ; preds = %while.hdr.715
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.718, label %if.merge.719
while.exit.717: ; preds = %while.hdr.715
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.836, i64 1 })
ret { ptr, i64 } %callN
if.then.718: ; preds = %while.body.716
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.837, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.719
if.merge.719: ; preds = %if.then.718, %while.body.716
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.841, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.842, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
]
fv.merge: ; preds = %fv.default, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.715
fv.default: ; preds = %if.merge.719
br label %fv.merge
fv.case: ; preds = %if.merge.719
%fv.field = extractvalue { ptr, i64, i64 } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 155, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.719
%fv.field18 = extractvalue { ptr, i64, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.719
%fv.field21 = extractvalue { ptr, i64, i64 } %loadN, 2
%fv.val22 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field21, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 {
entry:
%alloca = alloca { { ptr, i64 }, { i64, [24 x i8] } }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
%ba.tmp19 = alloca { i64, [24 x i8] }, align 8
store { { ptr, i64 }, { i64, [24 x i8] } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.843, i64 6 }, { ptr, i64 } { ptr @str.844, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.720
while.hdr.720: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 2
br i1 %icmp, label %while.body.721, label %while.exit.722
while.body.721: ; preds = %while.hdr.720
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.723, label %if.merge.724
while.exit.722: ; preds = %while.hdr.720
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.845, i64 1 })
ret { ptr, i64 } %callN
if.then.723: ; preds = %while.body.721
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.846, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.724
if.merge.724: ; preds = %if.then.723, %while.body.721
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.849, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.850, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
]
fv.merge: ; preds = %fv.default, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val21, %fv.case17 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.720
fv.default: ; preds = %if.merge.724
br label %fv.merge
fv.case: ; preds = %if.merge.724
%fv.field = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 0
store { ptr, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.724
%fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1
store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8
%ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64
%fv.val21 = insertvalue { i64, i64 } { i64 151, i64 undef }, i64 %ba.p2i20, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Sink(ptr %0, { { ptr, i64 }, i64, ptr } %1) #0 {
entry:
%alloca = alloca { { ptr, i64 }, i64, ptr }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { { ptr, i64 }, i64, ptr } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 4 }, { ptr, i64 } { ptr @str.852, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.725
while.hdr.725: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.726, label %while.exit.727
while.body.726: ; preds = %while.hdr.725
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.728, label %if.merge.729
while.exit.727: ; preds = %while.hdr.725
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.853, i64 1 })
ret { ptr, i64 } %callN
if.then.728: ; preds = %while.body.726
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.854, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.729
if.merge.729: ; preds = %if.then.728, %while.body.726
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.858, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.859, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
]
fv.merge: ; preds = %fv.default, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.725
fv.default: ; preds = %if.merge.729
br label %fv.merge
fv.case: ; preds = %if.merge.729
%fv.field = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 0
store { ptr, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 157, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.729
%fv.field18 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.729
%fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2
%pNi = ptrtoint ptr %fv.field21 to i64
%fv.val22 = insertvalue { i64, i64 } { i64 134, i64 undef }, i64 %pNi, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Parser(ptr %0, { { ptr, i64 }, i64, { ptr, ptr, ptr } } %1) #0 {
entry:
%alloca = alloca { { ptr, i64 }, i64, { ptr, ptr, ptr } }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
%ba.tmp22 = alloca { ptr, ptr, ptr }, align 8
store { { ptr, i64 }, i64, { ptr, ptr, ptr } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 6 }, { ptr, i64 } { ptr @str.861, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.730
while.hdr.730: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.731, label %while.exit.732
while.body.731: ; preds = %while.hdr.730
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.733, label %if.merge.734
while.exit.732: ; preds = %while.hdr.730
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.862, i64 1 })
ret { ptr, i64 } %callN
if.then.733: ; preds = %while.body.731
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.863, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.734
if.merge.734: ; preds = %if.then.733, %while.body.731
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.867, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.868, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, i64 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
]
fv.merge: ; preds = %fv.default, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val24, %fv.case20 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.730
fv.default: ; preds = %if.merge.734
br label %fv.merge
fv.case: ; preds = %if.merge.734
%fv.field = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 0
store { ptr, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.734
%fv.field18 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.734
%fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2
store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8
%ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64
%fv.val24 = insertvalue { i64, i64 } { i64 103, i64 undef }, i64 %ba.p2i23, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__List__string(ptr %0, { ptr, i64, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64, i64 }, align 8
store { ptr, i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 12 }, { ptr, i64 } { ptr @str.870, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.735
while.hdr.735: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.736, label %while.exit.737
while.body.736: ; preds = %while.hdr.735
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.738, label %if.merge.739
while.exit.737: ; preds = %while.hdr.735
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.871, i64 1 })
ret { ptr, i64 } %callN
if.then.738: ; preds = %while.body.736
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.872, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.739
if.merge.739: ; preds = %if.then.738, %while.body.736
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.876, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.877, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
]
fv.merge: ; preds = %fv.default, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.735
fv.default: ; preds = %if.merge.739
br label %fv.merge
fv.case: ; preds = %if.merge.739
%fv.field = extractvalue { ptr, i64, i64 } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 167, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.739
%fv.field18 = extractvalue { ptr, i64, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.739
%fv.field21 = extractvalue { ptr, i64, i64 } %loadN, 2
%fv.val22 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field21, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__BuildOptions(ptr %0, {} %1) #0 {
entry:
%alloca = alloca {}, align 8
store {} %1, ptr %alloca, align 1
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.878, i64 12 }, { ptr, i64 } { ptr @str.879, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.740
while.hdr.740: ; preds = %if.merge.744, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 0
br i1 %icmp, label %while.body.741, label %while.exit.742
while.body.741: ; preds = %while.hdr.740
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.743, label %if.merge.744
while.exit.742: ; preds = %while.hdr.740
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.880, i64 1 })
ret { ptr, i64 } %callN
if.then.743: ; preds = %while.body.741
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.881, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.744
if.merge.744: ; preds = %if.then.743, %while.body.741
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.882, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.883, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load {}, ptr %alloca, align 1
%loadN = load i64, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } { i64 17, i64 0 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.740
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__FlagSpec(ptr %0, { { ptr, i64 }, i1, i1 } %1) #0 {
entry:
%alloca = alloca { { ptr, i64 }, i1, i1 }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { { ptr, i64 }, i1, i1 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.884, i64 8 }, { ptr, i64 } { ptr @str.885, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.745
while.hdr.745: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.746, label %while.exit.747
while.body.746: ; preds = %while.hdr.745
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.748, label %if.merge.749
while.exit.747: ; preds = %while.hdr.745
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.886, i64 1 })
ret { ptr, i64 } %callN
if.then.748: ; preds = %while.body.746
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.887, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.749
if.merge.749: ; preds = %if.then.748, %while.body.746
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.891, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.892, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, i64 }, i1, i1 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
]
fv.merge: ; preds = %fv.default, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val23, %fv.case20 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.745
fv.default: ; preds = %if.merge.749
br label %fv.merge
fv.case: ; preds = %if.merge.749
%fv.field = extractvalue { { ptr, i64 }, i1, i1 } %loadN, 0
store { ptr, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.749
%fv.field18 = extractvalue { { ptr, i64 }, i1, i1 } %loadN, 1
%zN = zext i1 %fv.field18 to i64
%fv.val19 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.749
%fv.field21 = extractvalue { { ptr, i64 }, i1, i1 } %loadN, 2
%zN = zext i1 %fv.field21 to i64
%fv.val23 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Command(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %1) #0 {
entry:
%alloca = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
%ba.tmp19 = alloca { ptr, i64 }, align 8
%ba.tmp24 = alloca { ptr, i64 }, align 8
store { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.893, i64 7 }, { ptr, i64 } { ptr @str.894, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.750
while.hdr.750: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 3
br i1 %icmp, label %while.body.751, label %while.exit.752
while.body.751: ; preds = %while.hdr.750
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.753, label %if.merge.754
while.exit.752: ; preds = %while.hdr.750
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.895, i64 1 })
ret { ptr, i64 } %callN
if.then.753: ; preds = %while.body.751
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.896, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.754
if.merge.754: ; preds = %if.then.753, %while.body.751
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.900, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.901, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case22
]
fv.merge: ; preds = %fv.default, %fv.case22, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val21, %fv.case17 ], [ %fv.val26, %fv.case22 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.750
fv.default: ; preds = %if.merge.754
br label %fv.merge
fv.case: ; preds = %if.merge.754
%fv.field = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 0
store { ptr, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.754
%fv.field18 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 1
store { ptr, i64 } %fv.field18, ptr %ba.tmp19, align 8
%ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64
%fv.val21 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i20, 1
br label %fv.merge
fv.case22: ; preds = %if.merge.754
%fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2
store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8
%ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64
%fv.val26 = insertvalue { i64, i64 } { i64 176, i64 undef }, i64 %ba.p2i25, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__FlagValue(ptr %0, { i1, { ptr, i64 } } %1) #0 {
entry:
%alloca = alloca { i1, { ptr, i64 } }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { i1, { ptr, i64 } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.902, i64 9 }, { ptr, i64 } { ptr @str.903, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.755
while.hdr.755: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 2
br i1 %icmp, label %while.body.756, label %while.exit.757
while.body.756: ; preds = %while.hdr.755
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.758, label %if.merge.759
while.exit.757: ; preds = %while.hdr.755
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.904, i64 1 })
ret { ptr, i64 } %callN
if.then.758: ; preds = %while.body.756
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.905, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.759
if.merge.759: ; preds = %if.then.758, %while.body.756
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.908, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.909, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i1, { ptr, i64 } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
]
fv.merge: ; preds = %fv.default, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.755
fv.default: ; preds = %if.merge.759
br label %fv.merge
fv.case: ; preds = %if.merge.759
%fv.field = extractvalue { i1, { ptr, i64 } } %loadN, 0
%zN = zext i1 %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.759
%fv.field18 = extractvalue { i1, { ptr, i64 } } %loadN, 1
store { ptr, i64 } %fv.field18, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val19 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Diag(ptr %0, { i64, { ptr, i64 } } %1) #0 {
entry:
%alloca = alloca { i64, { ptr, i64 } }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { i64, { ptr, i64 } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.910, i64 4 }, { ptr, i64 } { ptr @str.911, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.760
while.hdr.760: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 2
br i1 %icmp, label %while.body.761, label %while.exit.762
while.body.761: ; preds = %while.hdr.760
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.763, label %if.merge.764
while.exit.762: ; preds = %while.hdr.760
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.912, i64 1 })
ret { ptr, i64 } %callN
if.then.763: ; preds = %while.body.761
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.913, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.764
if.merge.764: ; preds = %if.then.763, %while.body.761
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.916, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.917, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64, { ptr, i64 } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
]
fv.merge: ; preds = %fv.default, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.760
fv.default: ; preds = %if.merge.764
br label %fv.merge
fv.case: ; preds = %if.merge.764
%fv.field = extractvalue { i64, { ptr, i64 } } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.764
%fv.field18 = extractvalue { i64, { ptr, i64 } } %loadN, 1
store { ptr, i64 } %fv.field18, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val19 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Parsed(ptr %0, { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %1) #0 {
entry:
%alloca = alloca { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
%ba.tmp19 = alloca { ptr, i64 }, align 8
%ba.tmp30 = alloca { ptr, i64 }, align 8
%ba.tmp35 = alloca { ptr, i64 }, align 8
%ba.tmp40 = alloca [16 x { i1, { ptr, i64 } }], align 8
store { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.918, i64 6 }, { ptr, i64 } { ptr @str.919, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.765
while.hdr.765: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 7
br i1 %icmp, label %while.body.766, label %while.exit.767
while.body.766: ; preds = %while.hdr.765
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.768, label %if.merge.769
while.exit.767: ; preds = %while.hdr.765
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.920, i64 1 })
ret { ptr, i64 } %callN
if.then.768: ; preds = %while.body.766
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.921, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.769
if.merge.769: ; preds = %if.then.768, %while.body.766
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.929, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.930, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case22
i64 3, label %fv.case25
i64 4, label %fv.case28
i64 5, label %fv.case33
i64 6, label %fv.case38
]
fv.merge: ; preds = %fv.default, %fv.case38, %fv.case33, %fv.case28, %fv.case25, %fv.case22, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val21, %fv.case17 ], [ %fv.val24, %fv.case22 ], [ %fv.val27, %fv.case25 ], [ %fv.val32, %fv.case28 ], [ %fv.val37, %fv.case33 ], [ %fv.val42, %fv.case38 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.765
fv.default: ; preds = %if.merge.769
br label %fv.merge
fv.case: ; preds = %if.merge.769
%fv.field = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 0
store { ptr, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.769
%fv.field18 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 1
store { ptr, i64 } %fv.field18, ptr %ba.tmp19, align 8
%ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64
%fv.val21 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i20, 1
br label %fv.merge
fv.case22: ; preds = %if.merge.769
%fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 2
%fv.val24 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field23, 1
br label %fv.merge
fv.case25: ; preds = %if.merge.769
%fv.field26 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 3
%zN = zext i1 %fv.field26 to i64
%fv.val27 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case28: ; preds = %if.merge.769
%fv.field29 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 4
store { ptr, i64 } %fv.field29, ptr %ba.tmp30, align 8
%ba.p2i31 = ptrtoint ptr %ba.tmp30 to i64
%fv.val32 = insertvalue { i64, i64 } { i64 111, i64 undef }, i64 %ba.p2i31, 1
br label %fv.merge
fv.case33: ; preds = %if.merge.769
%fv.field34 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 5
store { ptr, i64 } %fv.field34, ptr %ba.tmp35, align 8
%ba.p2i36 = ptrtoint ptr %ba.tmp35 to i64
%fv.val37 = insertvalue { i64, i64 } { i64 176, i64 undef }, i64 %ba.p2i36, 1
br label %fv.merge
fv.case38: ; preds = %if.merge.769
%fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6
store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8
%ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64
%fv.val42 = insertvalue { i64, i64 } { i64 180, i64 undef }, i64 %ba.p2i41, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Sha256(ptr %0, { [8 x i64], [64 x i8], i64, i64 } %1) #0 {
entry:
%alloca = alloca { [8 x i64], [64 x i8], i64, i64 }, align 8
%ba.tmp = alloca [8 x i64], align 8
%ba.tmp19 = alloca [64 x i8], align 1
store { [8 x i64], [64 x i8], i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.931, i64 6 }, { ptr, i64 } { ptr @str.932, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.770
while.hdr.770: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 4
br i1 %icmp, label %while.body.771, label %while.exit.772
while.body.771: ; preds = %while.hdr.770
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.773, label %if.merge.774
while.exit.772: ; preds = %while.hdr.770
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.933, i64 1 })
ret { ptr, i64 } %callN
if.then.773: ; preds = %while.body.771
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.934, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.774
if.merge.774: ; preds = %if.then.773, %while.body.771
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.939, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.940, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case22
i64 3, label %fv.case25
]
fv.merge: ; preds = %fv.default, %fv.case25, %fv.case22, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val21, %fv.case17 ], [ %fv.val24, %fv.case22 ], [ %fv.val27, %fv.case25 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.770
fv.default: ; preds = %if.merge.774
br label %fv.merge
fv.case: ; preds = %if.merge.774
%fv.field = extractvalue { [8 x i64], [64 x i8], i64, i64 } %loadN, 0
store [8 x i64] %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 186, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.774
%fv.field18 = extractvalue { [8 x i64], [64 x i8], i64, i64 } %loadN, 1
store [64 x i8] %fv.field18, ptr %ba.tmp19, align 1
%ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64
%fv.val21 = insertvalue { i64, i64 } { i64 187, i64 undef }, i64 %ba.p2i20, 1
br label %fv.merge
fv.case22: ; preds = %if.merge.774
%fv.field23 = extractvalue { [8 x i64], [64 x i8], i64, i64 } %loadN, 2
%fv.val24 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field23, 1
br label %fv.merge
fv.case25: ; preds = %if.merge.774
%fv.field26 = extractvalue { [8 x i64], [64 x i8], i64, i64 } %loadN, 3
%fv.val27 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field26, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Kevent(ptr %0, { i64, i16, i16, i32, i64, i64 } %1) #0 {
entry:
%alloca = alloca { i64, i16, i16, i32, i64, i64 }, align 8
store { i64, i16, i16, i32, i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.941, i64 6 }, { ptr, i64 } { ptr @str.942, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.775
while.hdr.775: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 6
br i1 %icmp, label %while.body.776, label %while.exit.777
while.body.776: ; preds = %while.hdr.775
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.778, label %if.merge.779
while.exit.777: ; preds = %while.hdr.775
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.943, i64 1 })
ret { ptr, i64 } %callN
if.then.778: ; preds = %while.body.776
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.944, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.779
if.merge.779: ; preds = %if.then.778, %while.body.776
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.951, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.952, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64, i16, i16, i32, i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case23
i64 4, label %fv.case27
i64 5, label %fv.case30
]
fv.merge: ; preds = %fv.default, %fv.case30, %fv.case27, %fv.case23, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ %fv.val26, %fv.case23 ], [ %fv.val29, %fv.case27 ], [ %fv.val32, %fv.case30 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.775
fv.default: ; preds = %if.merge.779
br label %fv.merge
fv.case: ; preds = %if.merge.779
%fv.field = extractvalue { i64, i16, i16, i32, i64, i64 } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 16, i64 undef }, i64 %fv.field, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.779
%fv.field18 = extractvalue { i64, i16, i16, i32, i64, i64 } %loadN, 1
%iN = sext i16 %fv.field18 to i64
%fv.val19 = insertvalue { i64, i64 } { i64 3, i64 undef }, i64 %iN, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.779
%fv.field21 = extractvalue { i64, i16, i16, i32, i64, i64 } %loadN, 2
%zN = zext i16 %fv.field21 to i64
%fv.val22 = insertvalue { i64, i64 } { i64 7, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case23: ; preds = %if.merge.779
%fv.field24 = extractvalue { i64, i16, i16, i32, i64, i64 } %loadN, 3
%zN = zext i32 %fv.field24 to i64
%fv.val26 = insertvalue { i64, i64 } { i64 8, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case27: ; preds = %if.merge.779
%fv.field28 = extractvalue { i64, i16, i16, i32, i64, i64 } %loadN, 4
%fv.val29 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field28, 1
br label %fv.merge
fv.case30: ; preds = %if.merge.779
%fv.field31 = extractvalue { i64, i16, i16, i32, i64, i64 } %loadN, 5
%fv.val32 = insertvalue { i64, i64 } { i64 16, i64 undef }, i64 %fv.field31, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__KqTimespec(ptr %0, { i64, i64 } %1) #0 {
entry:
%alloca = alloca { i64, i64 }, align 8
store { i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.953, i64 10 }, { ptr, i64 } { ptr @str.954, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.780
while.hdr.780: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 2
br i1 %icmp, label %while.body.781, label %while.exit.782
while.body.781: ; preds = %while.hdr.780
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.783, label %if.merge.784
while.exit.782: ; preds = %while.hdr.780
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.955, i64 1 })
ret { ptr, i64 } %callN
if.then.783: ; preds = %while.body.781
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.956, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.784
if.merge.784: ; preds = %if.then.783, %while.body.781
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.959, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.960, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
]
fv.merge: ; preds = %fv.default, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.780
fv.default: ; preds = %if.merge.784
br label %fv.merge
fv.case: ; preds = %if.merge.784
%fv.field = extractvalue { i64, i64 } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.784
%fv.field18 = extractvalue { i64, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1, i1, i1, i1, i64 } %1) #0 {
entry:
%alloca = alloca { i32, i64, i1, i1, i1, i1, i1, i64 }, align 8
store { i32, i64, i1, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.961, i64 5 }, { ptr, i64 } { ptr @str.962, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.785
while.hdr.785: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 8
br i1 %icmp, label %while.body.786, label %while.exit.787
while.body.786: ; preds = %while.hdr.785
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.788, label %if.merge.789
while.exit.787: ; preds = %while.hdr.785
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.963, i64 1 })
ret { ptr, i64 } %callN
if.then.788: ; preds = %while.body.786
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.964, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.789
if.merge.789: ; preds = %if.then.788, %while.body.786
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [8 x { ptr, i64 }], ptr @field_names.973, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.974, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i32, i64, i1, i1, i1, i1, i1, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case23
i64 4, label %fv.case27
i64 5, label %fv.case31
i64 6, label %fv.case35
i64 7, label %fv.case39
]
fv.merge: ; preds = %fv.default, %fv.case39, %fv.case35, %fv.case31, %fv.case27, %fv.case23, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ %fv.val26, %fv.case23 ], [ %fv.val30, %fv.case27 ], [ %fv.val34, %fv.case31 ], [ %fv.val38, %fv.case35 ], [ %fv.val41, %fv.case39 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.785
fv.default: ; preds = %if.merge.789
br label %fv.merge
fv.case: ; preds = %if.merge.789
%fv.field = extractvalue { i32, i64, i1, i1, i1, i1, i1, i64 } %loadN, 0
%iN = sext i32 %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.789
%fv.field18 = extractvalue { i32, i64, i1, i1, i1, i1, i1, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 16, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.789
%fv.field21 = extractvalue { i32, i64, i1, i1, i1, i1, i1, i64 } %loadN, 2
%zN = zext i1 %fv.field21 to i64
%fv.val22 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case23: ; preds = %if.merge.789
%fv.field24 = extractvalue { i32, i64, i1, i1, i1, i1, i1, i64 } %loadN, 3
%zN = zext i1 %fv.field24 to i64
%fv.val26 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case27: ; preds = %if.merge.789
%fv.field28 = extractvalue { i32, i64, i1, i1, i1, i1, i1, i64 } %loadN, 4
%zN = zext i1 %fv.field28 to i64
%fv.val30 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case31: ; preds = %if.merge.789
%fv.field32 = extractvalue { i32, i64, i1, i1, i1, i1, i1, i64 } %loadN, 5
%zN = zext i1 %fv.field32 to i64
%fv.val34 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case35: ; preds = %if.merge.789
%fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i1, i64 } %loadN, 6
%zN = zext i1 %fv.field36 to i64
%fv.val38 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case39: ; preds = %if.merge.789
%fv.field40 = extractvalue { i32, i64, i1, i1, i1, i1, i1, i64 } %loadN, 7
%fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Loop(ptr %0, { i32 } %1) #0 {
entry:
%alloca = alloca { i32 }, align 8
store { i32 } %1, ptr %alloca, align 4
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.975, i64 4 }, { ptr, i64 } { ptr @str.976, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.790
while.hdr.790: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 1
br i1 %icmp, label %while.body.791, label %while.exit.792
while.body.791: ; preds = %while.hdr.790
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.793, label %if.merge.794
while.exit.792: ; preds = %while.hdr.790
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.977, i64 1 })
ret { ptr, i64 } %callN
if.then.793: ; preds = %while.body.791
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.978, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.794
if.merge.794: ; preds = %if.then.793, %while.body.791
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.980, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.981, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i32 }, ptr %alloca, align 4
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
]
fv.merge: ; preds = %fv.default, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.790
fv.default: ; preds = %if.merge.794
br label %fv.merge
fv.case: ; preds = %if.merge.794
%fv.field = extractvalue { i32 } %loadN, 0
%iN = sext i32 %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %1) #0 {
entry:
%alloca = alloca { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, align 8
store { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.982, i64 6 }, { ptr, i64 } { ptr @str.983, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.795
while.hdr.795: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 9
br i1 %icmp, label %while.body.796, label %while.exit.797
while.body.796: ; preds = %while.hdr.795
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.798, label %if.merge.799
while.exit.797: ; preds = %while.hdr.795
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.984, i64 1 })
ret { ptr, i64 } %callN
if.then.798: ; preds = %while.body.796
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.985, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.799
if.merge.799: ; preds = %if.then.798, %while.body.796
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [9 x { ptr, i64 }], ptr @field_names.995, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.996, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case23
i64 4, label %fv.case26
i64 5, label %fv.case29
i64 6, label %fv.case32
i64 7, label %fv.case35
i64 8, label %fv.case38
]
fv.merge: ; preds = %fv.default, %fv.case38, %fv.case35, %fv.case32, %fv.case29, %fv.case26, %fv.case23, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ %fv.val25, %fv.case23 ], [ %fv.val28, %fv.case26 ], [ %fv.val31, %fv.case29 ], [ %fv.val34, %fv.case32 ], [ %fv.val37, %fv.case35 ], [ %fv.val40, %fv.case38 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.795
fv.default: ; preds = %if.merge.799
br label %fv.merge
fv.case: ; preds = %if.merge.799
%fv.field = extractvalue { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.799
%fv.field18 = extractvalue { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %loadN, 1
%iN = sext i32 %fv.field18 to i64
%fv.val19 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.799
%fv.field21 = extractvalue { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %loadN, 2
%fv.val22 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field21, 1
br label %fv.merge
fv.case23: ; preds = %if.merge.799
%fv.field24 = extractvalue { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %loadN, 3
%fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1
br label %fv.merge
fv.case26: ; preds = %if.merge.799
%fv.field27 = extractvalue { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %loadN, 4
%fv.val28 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field27, 1
br label %fv.merge
fv.case29: ; preds = %if.merge.799
%fv.field30 = extractvalue { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %loadN, 5
%fv.val31 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field30, 1
br label %fv.merge
fv.case32: ; preds = %if.merge.799
%fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %loadN, 6
%fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 1
br label %fv.merge
fv.case35: ; preds = %if.merge.799
%fv.field36 = extractvalue { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %loadN, 7
%fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1
br label %fv.merge
fv.case38: ; preds = %if.merge.799
%fv.field39 = extractvalue { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %loadN, 8
%fv.val40 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field39, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %1) #0 {
entry:
%alloca = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
%ba.tmp19 = alloca { ptr, i64 }, align 8
%ba.tmp24 = alloca { ptr, i64 }, align 8
%ba.tmp29 = alloca { ptr, i64 }, align 8
%ba.tmp34 = alloca { ptr, i64 }, align 8
store { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.997, i64 7 }, { ptr, i64 } { ptr @str.998, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.800
while.hdr.800: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 6
br i1 %icmp, label %while.body.801, label %while.exit.802
while.body.801: ; preds = %while.hdr.800
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.803, label %if.merge.804
while.exit.802: ; preds = %while.hdr.800
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.999, i64 1 })
ret { ptr, i64 } %callN
if.then.803: ; preds = %while.body.801
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1000, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.804
if.merge.804: ; preds = %if.then.803, %while.body.801
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.1007, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1008, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case22
i64 3, label %fv.case27
i64 4, label %fv.case32
i64 5, label %fv.case37
]
fv.merge: ; preds = %fv.default, %fv.case37, %fv.case32, %fv.case27, %fv.case22, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val21, %fv.case17 ], [ %fv.val26, %fv.case22 ], [ %fv.val31, %fv.case27 ], [ %fv.val36, %fv.case32 ], [ %fv.val39, %fv.case37 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.800
fv.default: ; preds = %if.merge.804
br label %fv.merge
fv.case: ; preds = %if.merge.804
%fv.field = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %loadN, 0
store { ptr, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.804
%fv.field18 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %loadN, 1
store { ptr, i64 } %fv.field18, ptr %ba.tmp19, align 8
%ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64
%fv.val21 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i20, 1
br label %fv.merge
fv.case22: ; preds = %if.merge.804
%fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %loadN, 2
store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8
%ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64
%fv.val26 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i25, 1
br label %fv.merge
fv.case27: ; preds = %if.merge.804
%fv.field28 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %loadN, 3
store { ptr, i64 } %fv.field28, ptr %ba.tmp29, align 8
%ba.p2i30 = ptrtoint ptr %ba.tmp29 to i64
%fv.val31 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i30, 1
br label %fv.merge
fv.case32: ; preds = %if.merge.804
%fv.field33 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %loadN, 4
store { ptr, i64 } %fv.field33, ptr %ba.tmp34, align 8
%ba.p2i35 = ptrtoint ptr %ba.tmp34 to i64
%fv.val36 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i35, 1
br label %fv.merge
fv.case37: ; preds = %if.merge.804
%fv.field38 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %loadN, 5
%zN = zext i1 %fv.field38 to i64
%fv.val39 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %1) #0 {
entry:
%alloca = alloca { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
%ba.tmp22 = alloca { ptr, i64 }, align 8
%ba.tmp27 = alloca { ptr, i64 }, align 8
store { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1009, i64 8 }, { ptr, i64 } { ptr @str.1010, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.805
while.hdr.805: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 4
br i1 %icmp, label %while.body.806, label %while.exit.807
while.body.806: ; preds = %while.hdr.805
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.808, label %if.merge.809
while.exit.807: ; preds = %while.hdr.805
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1011, i64 1 })
ret { ptr, i64 } %callN
if.then.808: ; preds = %while.body.806
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1012, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.809
if.merge.809: ; preds = %if.then.808, %while.body.806
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.1017, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1018, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case25
]
fv.merge: ; preds = %fv.default, %fv.case25, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val24, %fv.case20 ], [ %fv.val29, %fv.case25 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.805
fv.default: ; preds = %if.merge.809
br label %fv.merge
fv.case: ; preds = %if.merge.809
%fv.field = extractvalue { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.809
%fv.field18 = extractvalue { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 1
store { ptr, i64 } %fv.field18, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val19 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.809
%fv.field21 = extractvalue { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2
store { ptr, i64 } %fv.field21, ptr %ba.tmp22, align 8
%ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64
%fv.val24 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i23, 1
br label %fv.merge
fv.case25: ; preds = %if.merge.809
%fv.field26 = extractvalue { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 3
store { ptr, i64 } %fv.field26, ptr %ba.tmp27, align 8
%ba.p2i28 = ptrtoint ptr %ba.tmp27 to i64
%fv.val29 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i28, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %1) #0 {
entry:
%alloca = alloca { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 }, align 8
store { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1019, i64 4 }, { ptr, i64 } { ptr @str.1020, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.810
while.hdr.810: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 13
br i1 %icmp, label %while.body.811, label %while.exit.812
while.body.811: ; preds = %while.hdr.810
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.813, label %if.merge.814
while.exit.812: ; preds = %while.hdr.810
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1021, i64 1 })
ret { ptr, i64 } %callN
if.then.813: ; preds = %while.body.811
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1022, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.814
if.merge.814: ; preds = %if.then.813, %while.body.811
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [13 x { ptr, i64 }], ptr @field_names.1036, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1037, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case23
i64 4, label %fv.case26
i64 5, label %fv.case29
i64 6, label %fv.case33
i64 7, label %fv.case36
i64 8, label %fv.case39
i64 9, label %fv.case42
i64 10, label %fv.case45
i64 11, label %fv.case49
i64 12, label %fv.case53
]
fv.merge: ; preds = %fv.default, %fv.case53, %fv.case49, %fv.case45, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case29, %fv.case26, %fv.case23, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ %fv.val25, %fv.case23 ], [ %fv.val28, %fv.case26 ], [ %fv.val32, %fv.case29 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val44, %fv.case42 ], [ %fv.val48, %fv.case45 ], [ %fv.val52, %fv.case49 ], [ %fv.val55, %fv.case53 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.810
fv.default: ; preds = %if.merge.814
br label %fv.merge
fv.case: ; preds = %if.merge.814
%fv.field = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 0
%iN = sext i32 %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.814
%fv.field18 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 1
%zN = zext i8 %fv.field18 to i64
%fv.val19 = insertvalue { i64, i64 } { i64 6, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.814
%fv.field21 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 2
%pNi = ptrtoint ptr %fv.field21 to i64
%fv.val22 = insertvalue { i64, i64 } { i64 100, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case23: ; preds = %if.merge.814
%fv.field24 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 3
%fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1
br label %fv.merge
fv.case26: ; preds = %if.merge.814
%fv.field27 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 4
%fv.val28 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field27, 1
br label %fv.merge
fv.case29: ; preds = %if.merge.814
%fv.field30 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 5
%pNi31 = ptrtoint ptr %fv.field30 to i64
%fv.val32 = insertvalue { i64, i64 } { i64 100, i64 undef }, i64 %pNi31, 1
br label %fv.merge
fv.case33: ; preds = %if.merge.814
%fv.field34 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 6
%fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1
br label %fv.merge
fv.case36: ; preds = %if.merge.814
%fv.field37 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 7
%fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1
br label %fv.merge
fv.case39: ; preds = %if.merge.814
%fv.field40 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 8
%fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1
br label %fv.merge
fv.case42: ; preds = %if.merge.814
%fv.field43 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 9
%fv.val44 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field43, 1
br label %fv.merge
fv.case45: ; preds = %if.merge.814
%fv.field46 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 10
%zN = zext i1 %fv.field46 to i64
%fv.val48 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case49: ; preds = %if.merge.814
%fv.field50 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 11
%zN = zext i1 %fv.field50 to i64
%fv.val52 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case53: ; preds = %if.merge.814
%fv.field54 = extractvalue { i32, i8, ptr, i64, i64, ptr, i64, i64, i64, i64, i1, i1, i64 } %loadN, 12
%fv.val55 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field54, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__OutBytes(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1038, i64 8 }, { ptr, i64 } { ptr @str.1039, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.815
while.hdr.815: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 2
br i1 %icmp, label %while.body.816, label %while.exit.817
while.body.816: ; preds = %while.hdr.815
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.818, label %if.merge.819
while.exit.817: ; preds = %while.hdr.815
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1040, i64 1 })
ret { ptr, i64 } %callN
if.then.818: ; preds = %while.body.816
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1041, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.819
if.merge.819: ; preds = %if.then.818, %while.body.816
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.1044, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1045, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
]
fv.merge: ; preds = %fv.default, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.815
fv.default: ; preds = %if.merge.819
br label %fv.merge
fv.case: ; preds = %if.merge.819
%fv.field = extractvalue { ptr, i64 } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 100, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.819
%fv.field18 = extractvalue { ptr, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Completion(ptr %0, { i64, i64, { ptr, i64 }, i1, i64 } %1) #0 {
entry:
%alloca = alloca { i64, i64, { ptr, i64 }, i1, i64 }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { i64, i64, { ptr, i64 }, i1, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1046, i64 10 }, { ptr, i64 } { ptr @str.1047, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.820
while.hdr.820: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 5
br i1 %icmp, label %while.body.821, label %while.exit.822
while.body.821: ; preds = %while.hdr.820
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.823, label %if.merge.824
while.exit.822: ; preds = %while.hdr.820
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1048, i64 1 })
ret { ptr, i64 } %callN
if.then.823: ; preds = %while.body.821
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1049, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.824
if.merge.824: ; preds = %if.then.823, %while.body.821
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.1055, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1056, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64, i64, { ptr, i64 }, i1, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case23
i64 4, label %fv.case26
]
fv.merge: ; preds = %fv.default, %fv.case26, %fv.case23, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ %fv.val25, %fv.case23 ], [ %fv.val28, %fv.case26 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.820
fv.default: ; preds = %if.merge.824
br label %fv.merge
fv.case: ; preds = %if.merge.824
%fv.field = extractvalue { i64, i64, { ptr, i64 }, i1, i64 } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.824
%fv.field18 = extractvalue { i64, i64, { ptr, i64 }, i1, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.824
%fv.field21 = extractvalue { i64, i64, { ptr, i64 }, i1, i64 } %loadN, 2
store { ptr, i64 } %fv.field21, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val22 = insertvalue { i64, i64 } { i64 209, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case23: ; preds = %if.merge.824
%fv.field24 = extractvalue { i64, i64, { ptr, i64 }, i1, i64 } %loadN, 3
%zN = zext i1 %fv.field24 to i64
%fv.val25 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case26: ; preds = %if.merge.824
%fv.field27 = extractvalue { i64, i64, { ptr, i64 }, i1, i64 } %loadN, 4
%fv.val28 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field27, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Pool(ptr %0, { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %1) #0 {
entry:
%alloca = alloca { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 }, align 8
%ba.tmp = alloca { { i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8
%ba.tmp19 = alloca { { i64, i64, i64, i64, i64, i64 } }, align 8
store { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1057, i64 4 }, { ptr, i64 } { ptr @str.1058, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.825
while.hdr.825: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 9
br i1 %icmp, label %while.body.826, label %while.exit.827
while.body.826: ; preds = %while.hdr.825
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.828, label %if.merge.829
while.exit.827: ; preds = %while.hdr.825
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1059, i64 1 })
ret { ptr, i64 } %callN
if.then.828: ; preds = %while.body.826
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1060, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.829
if.merge.829: ; preds = %if.then.828, %while.body.826
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [9 x { ptr, i64 }], ptr @field_names.1070, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1071, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case22
i64 3, label %fv.case25
i64 4, label %fv.case28
i64 5, label %fv.case31
i64 6, label %fv.case34
i64 7, label %fv.case37
i64 8, label %fv.case41
]
fv.merge: ; preds = %fv.default, %fv.case41, %fv.case37, %fv.case34, %fv.case31, %fv.case28, %fv.case25, %fv.case22, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val21, %fv.case17 ], [ %fv.val24, %fv.case22 ], [ %fv.val27, %fv.case25 ], [ %fv.val30, %fv.case28 ], [ %fv.val33, %fv.case31 ], [ %fv.val36, %fv.case34 ], [ %fv.val40, %fv.case37 ], [ %fv.val43, %fv.case41 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.825
fv.default: ; preds = %if.merge.829
br label %fv.merge
fv.case: ; preds = %if.merge.829
%fv.field = extractvalue { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %loadN, 0
store { { i64, i64, i64, i64, i64, i64, i64, i64 } } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 213, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.829
%fv.field18 = extractvalue { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %loadN, 1
store { { i64, i64, i64, i64, i64, i64 } } %fv.field18, ptr %ba.tmp19, align 8
%ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64
%fv.val21 = insertvalue { i64, i64 } { i64 233, i64 undef }, i64 %ba.p2i20, 1
br label %fv.merge
fv.case22: ; preds = %if.merge.829
%fv.field23 = extractvalue { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %loadN, 2
%pNi = ptrtoint ptr %fv.field23 to i64
%fv.val24 = insertvalue { i64, i64 } { i64 240, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case25: ; preds = %if.merge.829
%fv.field26 = extractvalue { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %loadN, 3
%fv.val27 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field26, 1
br label %fv.merge
fv.case28: ; preds = %if.merge.829
%fv.field29 = extractvalue { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %loadN, 4
%fv.val30 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field29, 1
br label %fv.merge
fv.case31: ; preds = %if.merge.829
%fv.field32 = extractvalue { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %loadN, 5
%fv.val33 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field32, 1
br label %fv.merge
fv.case34: ; preds = %if.merge.829
%fv.field35 = extractvalue { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %loadN, 6
%zN = zext i1 %fv.field35 to i64
%fv.val36 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case37: ; preds = %if.merge.829
%fv.field38 = extractvalue { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %loadN, 7
%pNi39 = ptrtoint ptr %fv.field38 to i64
%fv.val40 = insertvalue { i64, i64 } { i64 241, i64 undef }, i64 %pNi39, 1
br label %fv.merge
fv.case41: ; preds = %if.merge.829
%fv.field42 = extractvalue { { { i64, i64, i64, i64, i64, i64, i64, i64 } }, { { i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, i64, i1, ptr, i64 } %loadN, 8
%fv.val43 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field42, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Mutex(ptr %0, { { i64, i64, i64, i64, i64, i64, i64, i64 } } %1) #0 {
entry:
%alloca = alloca { { i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8
%ba.tmp = alloca { i64, i64, i64, i64, i64, i64, i64, i64 }, align 8
store { { i64, i64, i64, i64, i64, i64, i64, i64 } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1072, i64 5 }, { ptr, i64 } { ptr @str.1073, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.830
while.hdr.830: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 1
br i1 %icmp, label %while.body.831, label %while.exit.832
while.body.831: ; preds = %while.hdr.830
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.833, label %if.merge.834
while.exit.832: ; preds = %while.hdr.830
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1074, i64 1 })
ret { ptr, i64 } %callN
if.then.833: ; preds = %while.body.831
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1075, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.834
if.merge.834: ; preds = %if.then.833, %while.body.831
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.1077, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1078, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
]
fv.merge: ; preds = %fv.default, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.830
fv.default: ; preds = %if.merge.834
br label %fv.merge
fv.case: ; preds = %if.merge.834
%fv.field = extractvalue { { i64, i64, i64, i64, i64, i64, i64, i64 } } %loadN, 0
store { i64, i64, i64, i64, i64, i64, i64, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 227, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__PoolState(ptr %0, { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } } %1) #0 {
entry:
%alloca = alloca { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } }, align 8
%ba.tmp = alloca { { i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8
%ba.tmp32 = alloca { i32 }, align 8
store { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1079, i64 9 }, { ptr, i64 } { ptr @str.1080, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.835
while.hdr.835: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 6
br i1 %icmp, label %while.body.836, label %while.exit.837
while.body.836: ; preds = %while.hdr.835
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.838, label %if.merge.839
while.exit.837: ; preds = %while.hdr.835
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1081, i64 1 })
ret { ptr, i64 } %callN
if.then.838: ; preds = %while.body.836
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1082, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.839
if.merge.839: ; preds = %if.then.838, %while.body.836
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.1089, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1090, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case24
i64 4, label %fv.case27
i64 5, label %fv.case30
]
fv.merge: ; preds = %fv.default, %fv.case30, %fv.case27, %fv.case24, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val23, %fv.case20 ], [ %fv.val26, %fv.case24 ], [ %fv.val29, %fv.case27 ], [ %fv.val34, %fv.case30 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.835
fv.default: ; preds = %if.merge.839
br label %fv.merge
fv.case: ; preds = %if.merge.839
%fv.field = extractvalue { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 212, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.839
%fv.field18 = extractvalue { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } } %loadN, 1
store { { i64, i64, i64, i64, i64, i64, i64, i64 } } %fv.field18, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val19 = insertvalue { i64, i64 } { i64 213, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.839
%fv.field21 = extractvalue { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } } %loadN, 2
%pNi22 = ptrtoint ptr %fv.field21 to i64
%fv.val23 = insertvalue { i64, i64 } { i64 214, i64 undef }, i64 %pNi22, 1
br label %fv.merge
fv.case24: ; preds = %if.merge.839
%fv.field25 = extractvalue { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } } %loadN, 3
%fv.val26 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field25, 1
br label %fv.merge
fv.case27: ; preds = %if.merge.839
%fv.field28 = extractvalue { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } } %loadN, 4
%fv.val29 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field28, 1
br label %fv.merge
fv.case30: ; preds = %if.merge.839
%fv.field31 = extractvalue { ptr, { { i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr, i64, i64, { i32 } } %loadN, 5
store { i32 } %fv.field31, ptr %ba.tmp32, align 4
%ba.p2i33 = ptrtoint ptr %ba.tmp32 to i64
%fv.val34 = insertvalue { i64, i64 } { i64 198, i64 undef }, i64 %ba.p2i33, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__HandlerJob(ptr %0, { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 }, align 8
%ba.tmp = alloca { ptr, ptr, ptr }, align 8
%ba.tmp29 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, align 8
store { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1091, i64 10 }, { ptr, i64 } { ptr @str.1092, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.840
while.hdr.840: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 9
br i1 %icmp, label %while.body.841, label %while.exit.842
while.body.841: ; preds = %while.hdr.840
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.843, label %if.merge.844
while.exit.842: ; preds = %while.hdr.840
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1093, i64 1 })
ret { ptr, i64 } %callN
if.then.843: ; preds = %while.body.841
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1094, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.844
if.merge.844: ; preds = %if.then.843, %while.body.841
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [9 x { ptr, i64 }], ptr @field_names.1104, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1105, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case24
i64 4, label %fv.case27
i64 5, label %fv.case32
i64 6, label %fv.case35
i64 7, label %fv.case38
i64 8, label %fv.case41
]
fv.merge: ; preds = %fv.default, %fv.case41, %fv.case38, %fv.case35, %fv.case32, %fv.case27, %fv.case24, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val23, %fv.case20 ], [ %fv.val26, %fv.case24 ], [ %fv.val31, %fv.case27 ], [ %fv.val34, %fv.case32 ], [ %fv.val37, %fv.case35 ], [ %fv.val40, %fv.case38 ], [ %fv.val43, %fv.case41 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.840
fv.default: ; preds = %if.merge.844
br label %fv.merge
fv.case: ; preds = %if.merge.844
%fv.field = extractvalue { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 217, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.844
%fv.field18 = extractvalue { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 16, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.844
%fv.field21 = extractvalue { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %loadN, 2
%pNi22 = ptrtoint ptr %fv.field21 to i64
%fv.val23 = insertvalue { i64, i64 } { i64 218, i64 undef }, i64 %pNi22, 1
br label %fv.merge
fv.case24: ; preds = %if.merge.844
%fv.field25 = extractvalue { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %loadN, 3
store { ptr, ptr, ptr } %fv.field25, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val26 = insertvalue { i64, i64 } { i64 103, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case27: ; preds = %if.merge.844
%fv.field28 = extractvalue { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %loadN, 4
store { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %fv.field28, ptr %ba.tmp29, align 8
%ba.p2i30 = ptrtoint ptr %ba.tmp29 to i64
%fv.val31 = insertvalue { i64, i64 } { i64 205, i64 undef }, i64 %ba.p2i30, 1
br label %fv.merge
fv.case32: ; preds = %if.merge.844
%fv.field33 = extractvalue { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %loadN, 5
%fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 1
br label %fv.merge
fv.case35: ; preds = %if.merge.844
%fv.field36 = extractvalue { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %loadN, 6
%fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1
br label %fv.merge
fv.case38: ; preds = %if.merge.844
%fv.field39 = extractvalue { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %loadN, 7
%zN = zext i1 %fv.field39 to i64
%fv.val40 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case41: ; preds = %if.merge.844
%fv.field42 = extractvalue { ptr, i64, ptr, { ptr, ptr, ptr }, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, i64, i64, i1, i64 } %loadN, 8
%fv.val43 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field42, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %1) #0 {
entry:
%alloca = alloca { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr }, align 8
%ba.tmp = alloca { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, align 8
%ba.tmp19 = alloca { i32 }, align 8
%ba.tmp30 = alloca { ptr, ptr, ptr }, align 8
store { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1106, i64 6 }, { ptr, i64 } { ptr @str.1107, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.845
while.hdr.845: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 8
br i1 %icmp, label %while.body.846, label %while.exit.847
while.body.846: ; preds = %while.hdr.845
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.848, label %if.merge.849
while.exit.847: ; preds = %while.hdr.845
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1108, i64 1 })
ret { ptr, i64 } %callN
if.then.848: ; preds = %while.body.846
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1109, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.849
if.merge.849: ; preds = %if.then.848, %while.body.846
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [8 x { ptr, i64 }], ptr @field_names.1118, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1119, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case22
i64 3, label %fv.case25
i64 4, label %fv.case28
i64 5, label %fv.case33
i64 6, label %fv.case37
i64 7, label %fv.case40
]
fv.merge: ; preds = %fv.default, %fv.case40, %fv.case37, %fv.case33, %fv.case28, %fv.case25, %fv.case22, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val21, %fv.case17 ], [ %fv.val24, %fv.case22 ], [ %fv.val27, %fv.case25 ], [ %fv.val32, %fv.case28 ], [ %fv.val36, %fv.case33 ], [ %fv.val39, %fv.case37 ], [ %fv.val43, %fv.case40 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.845
fv.default: ; preds = %if.merge.849
br label %fv.merge
fv.case: ; preds = %if.merge.849
%fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %loadN, 0
store { i64, i32, i64, i64, i64, i64, i64, i64, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 204, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.849
%fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %loadN, 1
store { i32 } %fv.field18, ptr %ba.tmp19, align 4
%ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64
%fv.val21 = insertvalue { i64, i64 } { i64 198, i64 undef }, i64 %ba.p2i20, 1
br label %fv.merge
fv.case22: ; preds = %if.merge.849
%fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %loadN, 2
%iN = sext i32 %fv.field23 to i64
%fv.val24 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1
br label %fv.merge
fv.case25: ; preds = %if.merge.849
%fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %loadN, 3
%pNi = ptrtoint ptr %fv.field26 to i64
%fv.val27 = insertvalue { i64, i64 } { i64 220, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case28: ; preds = %if.merge.849
%fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %loadN, 4
store { ptr, ptr, ptr } %fv.field29, ptr %ba.tmp30, align 8
%ba.p2i31 = ptrtoint ptr %ba.tmp30 to i64
%fv.val32 = insertvalue { i64, i64 } { i64 103, i64 undef }, i64 %ba.p2i31, 1
br label %fv.merge
fv.case33: ; preds = %if.merge.849
%fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %loadN, 5
%pNi35 = ptrtoint ptr %fv.field34 to i64
%fv.val36 = insertvalue { i64, i64 } { i64 217, i64 undef }, i64 %pNi35, 1
br label %fv.merge
fv.case37: ; preds = %if.merge.849
%fv.field38 = extractvalue { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %loadN, 6
%fv.val39 = insertvalue { i64, i64 } { i64 16, i64 undef }, i64 %fv.field38, 1
br label %fv.merge
fv.case40: ; preds = %if.merge.849
%fv.field41 = extractvalue { { i64, i32, i64, i64, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr, i64, ptr } %loadN, 7
%pNi42 = ptrtoint ptr %fv.field41 to i64
%fv.val43 = insertvalue { i64, i64 } { i64 218, i64 undef }, i64 %pNi42, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__MutexBuf(ptr %0, { i64, i64, i64, i64, i64, i64, i64, i64 } %1) #0 {
entry:
%alloca = alloca { i64, i64, i64, i64, i64, i64, i64, i64 }, align 8
store { i64, i64, i64, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1120, i64 8 }, { ptr, i64 } { ptr @str.1121, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.850
while.hdr.850: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 8
br i1 %icmp, label %while.body.851, label %while.exit.852
while.body.851: ; preds = %while.hdr.850
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.853, label %if.merge.854
while.exit.852: ; preds = %while.hdr.850
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1122, i64 1 })
ret { ptr, i64 } %callN
if.then.853: ; preds = %while.body.851
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1123, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.854
if.merge.854: ; preds = %if.then.853, %while.body.851
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [8 x { ptr, i64 }], ptr @field_names.1132, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1133, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64, i64, i64, i64, i64, i64, i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case23
i64 4, label %fv.case26
i64 5, label %fv.case29
i64 6, label %fv.case32
i64 7, label %fv.case35
]
fv.merge: ; preds = %fv.default, %fv.case35, %fv.case32, %fv.case29, %fv.case26, %fv.case23, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ %fv.val25, %fv.case23 ], [ %fv.val28, %fv.case26 ], [ %fv.val31, %fv.case29 ], [ %fv.val34, %fv.case32 ], [ %fv.val37, %fv.case35 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.850
fv.default: ; preds = %if.merge.854
br label %fv.merge
fv.case: ; preds = %if.merge.854
%fv.field = extractvalue { i64, i64, i64, i64, i64, i64, i64, i64 } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.854
%fv.field18 = extractvalue { i64, i64, i64, i64, i64, i64, i64, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.854
%fv.field21 = extractvalue { i64, i64, i64, i64, i64, i64, i64, i64 } %loadN, 2
%fv.val22 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field21, 1
br label %fv.merge
fv.case23: ; preds = %if.merge.854
%fv.field24 = extractvalue { i64, i64, i64, i64, i64, i64, i64, i64 } %loadN, 3
%fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1
br label %fv.merge
fv.case26: ; preds = %if.merge.854
%fv.field27 = extractvalue { i64, i64, i64, i64, i64, i64, i64, i64 } %loadN, 4
%fv.val28 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field27, 1
br label %fv.merge
fv.case29: ; preds = %if.merge.854
%fv.field30 = extractvalue { i64, i64, i64, i64, i64, i64, i64, i64 } %loadN, 5
%fv.val31 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field30, 1
br label %fv.merge
fv.case32: ; preds = %if.merge.854
%fv.field33 = extractvalue { i64, i64, i64, i64, i64, i64, i64, i64 } %loadN, 6
%fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 1
br label %fv.merge
fv.case35: ; preds = %if.merge.854
%fv.field36 = extractvalue { i64, i64, i64, i64, i64, i64, i64, i64 } %loadN, 7
%fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__CondBuf(ptr %0, { i64, i64, i64, i64, i64, i64 } %1) #0 {
entry:
%alloca = alloca { i64, i64, i64, i64, i64, i64 }, align 8
store { i64, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1134, i64 7 }, { ptr, i64 } { ptr @str.1135, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.855
while.hdr.855: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 6
br i1 %icmp, label %while.body.856, label %while.exit.857
while.body.856: ; preds = %while.hdr.855
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.858, label %if.merge.859
while.exit.857: ; preds = %while.hdr.855
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1136, i64 1 })
ret { ptr, i64 } %callN
if.then.858: ; preds = %while.body.856
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1137, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.859
if.merge.859: ; preds = %if.then.858, %while.body.856
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.1144, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1145, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64, i64, i64, i64, i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case23
i64 4, label %fv.case26
i64 5, label %fv.case29
]
fv.merge: ; preds = %fv.default, %fv.case29, %fv.case26, %fv.case23, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ %fv.val25, %fv.case23 ], [ %fv.val28, %fv.case26 ], [ %fv.val31, %fv.case29 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.855
fv.default: ; preds = %if.merge.859
br label %fv.merge
fv.case: ; preds = %if.merge.859
%fv.field = extractvalue { i64, i64, i64, i64, i64, i64 } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.859
%fv.field18 = extractvalue { i64, i64, i64, i64, i64, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.859
%fv.field21 = extractvalue { i64, i64, i64, i64, i64, i64 } %loadN, 2
%fv.val22 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field21, 1
br label %fv.merge
fv.case23: ; preds = %if.merge.859
%fv.field24 = extractvalue { i64, i64, i64, i64, i64, i64 } %loadN, 3
%fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1
br label %fv.merge
fv.case26: ; preds = %if.merge.859
%fv.field27 = extractvalue { i64, i64, i64, i64, i64, i64 } %loadN, 4
%fv.val28 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field27, 1
br label %fv.merge
fv.case29: ; preds = %if.merge.859
%fv.field30 = extractvalue { i64, i64, i64, i64, i64, i64 } %loadN, 5
%fv.val31 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field30, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Cond(ptr %0, { { i64, i64, i64, i64, i64, i64 } } %1) #0 {
entry:
%alloca = alloca { { i64, i64, i64, i64, i64, i64 } }, align 8
%ba.tmp = alloca { i64, i64, i64, i64, i64, i64 }, align 8
store { { i64, i64, i64, i64, i64, i64 } } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1146, i64 4 }, { ptr, i64 } { ptr @str.1147, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.860
while.hdr.860: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 1
br i1 %icmp, label %while.body.861, label %while.exit.862
while.body.861: ; preds = %while.hdr.860
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.863, label %if.merge.864
while.exit.862: ; preds = %while.hdr.860
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1148, i64 1 })
ret { ptr, i64 } %callN
if.then.863: ; preds = %while.body.861
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1149, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.864
if.merge.864: ; preds = %if.then.863, %while.body.861
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.1151, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1152, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { i64, i64, i64, i64, i64, i64 } }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
]
fv.merge: ; preds = %fv.default, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.860
fv.default: ; preds = %if.merge.864
br label %fv.merge
fv.case: ; preds = %if.merge.864
%fv.field = extractvalue { { i64, i64, i64, i64, i64, i64 } } %loadN, 0
store { i64, i64, i64, i64, i64, i64 } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 229, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Thread(ptr %0, { i64 } %1) #0 {
entry:
%alloca = alloca { i64 }, align 8
store { i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1153, i64 6 }, { ptr, i64 } { ptr @str.1154, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.865
while.hdr.865: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 1
br i1 %icmp, label %while.body.866, label %while.exit.867
while.body.866: ; preds = %while.hdr.865
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.868, label %if.merge.869
while.exit.867: ; preds = %while.hdr.865
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1155, i64 1 })
ret { ptr, i64 } %callN
if.then.868: ; preds = %while.body.866
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1156, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.869
if.merge.869: ; preds = %if.then.868, %while.body.866
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.1158, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1159, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
]
fv.merge: ; preds = %fv.default, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.865
fv.default: ; preds = %if.merge.869
br label %fv.merge
fv.case: ; preds = %if.merge.869
%fv.field = extractvalue { i64 } %loadN, 0
%fv.val = insertvalue { i64, i64 } { i64 16, i64 undef }, i64 %fv.field, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__PoolTask(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1160, i64 8 }, { ptr, i64 } { ptr @str.1161, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.870
while.hdr.870: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 2
br i1 %icmp, label %while.body.871, label %while.exit.872
while.body.871: ; preds = %while.hdr.870
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.873, label %if.merge.874
while.exit.872: ; preds = %while.hdr.870
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1162, i64 1 })
ret { ptr, i64 } %callN
if.then.873: ; preds = %while.body.871
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1163, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.874
if.merge.874: ; preds = %if.then.873, %while.body.871
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.1166, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1167, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
]
fv.merge: ; preds = %fv.default, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.870
fv.default: ; preds = %if.merge.874
br label %fv.merge
fv.case: ; preds = %if.merge.874
%fv.field = extractvalue { ptr, i64 } %loadN, 0
%pNi = ptrtoint ptr %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 238, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.874
%fv.field18 = extractvalue { ptr, i64 } %loadN, 1
%fv.val19 = insertvalue { i64, i64 } { i64 16, i64 undef }, i64 %fv.field18, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__FiberCtx(ptr %0, { [13 x i64] } %1) #0 {
entry:
%alloca = alloca { [13 x i64] }, align 8
%ba.tmp = alloca [13 x i64], align 8
store { [13 x i64] } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1168, i64 8 }, { ptr, i64 } { ptr @str.1169, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.875
while.hdr.875: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 1
br i1 %icmp, label %while.body.876, label %while.exit.877
while.body.876: ; preds = %while.hdr.875
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.878, label %if.merge.879
while.exit.877: ; preds = %while.hdr.875
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1170, i64 1 })
ret { ptr, i64 } %callN
if.then.878: ; preds = %while.body.876
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1171, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.879
if.merge.879: ; preds = %if.then.878, %while.body.876
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.1173, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1174, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { [13 x i64] }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
]
fv.merge: ; preds = %fv.default, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.875
fv.default: ; preds = %if.merge.879
br label %fv.merge
fv.case: ; preds = %if.merge.879
%fv.field = extractvalue { [13 x i64] } %loadN, 0
store [13 x i64] %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 243, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @struct_to_string__Fiber(ptr %0, { { [13 x i64] }, ptr, i64, i64 } %1) #0 {
entry:
%alloca = alloca { { [13 x i64] }, ptr, i64, i64 }, align 8
%ba.tmp = alloca { [13 x i64] }, align 8
store { { [13 x i64] }, ptr, i64, i64 } %1, ptr %alloca, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1175, i64 5 }, { ptr, i64 } { ptr @str.1176, i64 1 })
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.880
while.hdr.880: ; preds = %fv.merge, %entry
%load = load i64, ptr %allocaN, align 8
%icmp = icmp slt i64 %load, 4
br i1 %icmp, label %while.body.881, label %while.exit.882
while.body.881: ; preds = %while.hdr.880
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.883, label %if.merge.884
while.exit.882: ; preds = %while.hdr.880
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1177, i64 1 })
ret { ptr, i64 } %callN
if.then.883: ; preds = %while.body.881
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1178, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.884
if.merge.884: ; preds = %if.then.883, %while.body.881
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.1183, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1184, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { { [13 x i64] }, ptr, i64, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case17
i64 2, label %fv.case20
i64 3, label %fv.case23
]
fv.merge: ; preds = %fv.default, %fv.case23, %fv.case20, %fv.case17, %fv.case
%fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val19, %fv.case17 ], [ %fv.val22, %fv.case20 ], [ %fv.val25, %fv.case23 ], [ undef, %fv.default ]
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %fv.phi)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.880
fv.default: ; preds = %if.merge.884
br label %fv.merge
fv.case: ; preds = %if.merge.884
%fv.field = extractvalue { { [13 x i64] }, ptr, i64, i64 } %loadN, 0
store { [13 x i64] } %fv.field, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val = insertvalue { i64, i64 } { i64 244, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %if.merge.884
%fv.field18 = extractvalue { { [13 x i64] }, ptr, i64, i64 } %loadN, 1
%pNi = ptrtoint ptr %fv.field18 to i64
%fv.val19 = insertvalue { i64, i64 } { i64 245, i64 undef }, i64 %pNi, 1
br label %fv.merge
fv.case20: ; preds = %if.merge.884
%fv.field21 = extractvalue { { [13 x i64] }, ptr, i64, i64 } %loadN, 2
%fv.val22 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field21, 1
br label %fv.merge
fv.case23: ; preds = %if.merge.884
%fv.field24 = extractvalue { { [13 x i64] }, ptr, i64, i64 } %loadN, 3
%fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @enum_to_string__PinTarget(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.1189, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1185, i64 1 }, { ptr, i64 } %fn.load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load i64, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%allocaN = alloca { i64, i64 }, align 8
store { i64, i64 } { i64 17, i64 0 }, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %loadN)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.895, label %if.merge.896
if.then.895: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1191, i64 1 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1190, i64 1 }, { ptr, i64 } %callN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.896
if.merge.896: ; preds = %if.then.895, %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @enum_to_string__Ordering(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.1198, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1192, i64 1 }, { ptr, i64 } %fn.load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load i64, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%allocaN = alloca { i64, i64 }, align 8
store { i64, i64 } { i64 17, i64 0 }, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %loadN)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.897, label %if.merge.898
if.then.897: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1200, i64 1 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1199, i64 1 }, { ptr, i64 } %callN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.898
if.merge.898: ; preds = %if.then.897, %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @enum_to_string__FutureState(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.1206, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1201, i64 1 }, { ptr, i64 } %fn.load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load i64, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%allocaN = alloca { i64, i64 }, align 8
store { i64, i64 } { i64 17, i64 0 }, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %loadN)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.899, label %if.merge.900
if.then.899: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1208, i64 1 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1207, i64 1 }, { ptr, i64 } %callN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.900
if.merge.900: ; preds = %if.then.899, %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.1214, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1209, i64 1 }, { ptr, i64 } %fn.load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load i64, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%allocaN = alloca { i64, i64 }, align 8
store { i64, i64 } { i64 17, i64 0 }, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %loadN)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.901, label %if.merge.902
if.then.901: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1216, i64 1 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1215, i64 1 }, { ptr, i64 } %callN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.902
if.merge.902: ; preds = %if.then.901, %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.1221, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1217, i64 1 }, { ptr, i64 } %fn.load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load i64, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%allocaN = alloca { i64, i64 }, align 8
store { i64, i64 } { i64 17, i64 0 }, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %loadN)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.903, label %if.merge.904
if.then.903: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1223, i64 1 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1222, i64 1 }, { ptr, i64 } %callN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.904
if.merge.904: ; preds = %if.then.903, %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %1) #0 {
entry:
%alloca = alloca { i64, [24 x i8] }, align 8
%fv.utmp = alloca { i64, [24 x i8] }, align 8
%fv.utmp8 = alloca { i64, [24 x i8] }, align 8
%fv.utmp13 = alloca { i64, [24 x i8] }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
%fv.utmp18 = alloca { i64, [24 x i8] }, align 8
%ba.tmp21 = alloca { ptr, i64, i64 }, align 8
%fv.utmp25 = alloca { i64, [24 x i8] }, align 8
%ba.tmp28 = alloca { ptr, i64, i64 }, align 8
%allocaN = alloca { i64, i64 }, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { i64, [24 x i8] } %1, ptr %alloca, align 8
%load = load { i64, [24 x i8] }, ptr %alloca, align 8
%etag = extractvalue { i64, [24 x i8] } %load, 0
%allocaN = alloca i64, align 8
store i64 %etag, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.1231, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1224, i64 1 }, { ptr, i64 } %fn.load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load { i64, [24 x i8] }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
switch i64 %loadN, label %fv.default [
i64 0, label %fv.case
i64 1, label %fv.case6
i64 2, label %fv.case7
i64 3, label %fv.case12
i64 4, label %fv.case17
i64 5, label %fv.case24
]
if.then.905: ; preds = %fv.merge
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1233, i64 1 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1232, i64 1 }, { ptr, i64 } %callN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.906
if.merge.906: ; preds = %if.then.905, %fv.merge
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
fv.merge: ; preds = %fv.default, %fv.case24, %fv.case17, %fv.case12, %fv.case7, %fv.case6, %fv.case
%fv.phi = phi { i64, i64 } [ { i64 17, i64 0 }, %fv.case ], [ %fv.val, %fv.case6 ], [ %fv.val11, %fv.case7 ], [ %fv.val16, %fv.case12 ], [ %fv.val23, %fv.case17 ], [ %fv.val30, %fv.case24 ], [ undef, %fv.default ]
store { i64, i64 } %fv.phi, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %loadN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.905, label %if.merge.906
fv.default: ; preds = %entry
br label %fv.merge
fv.case: ; preds = %entry
br label %fv.merge
fv.case6: ; preds = %entry
store { i64, [24 x i8] } %loadN, ptr %fv.utmp, align 8
%fv.pp = getelementptr inbounds nuw { i64, [24 x i8] }, ptr %fv.utmp, i32 0, i32 1
%fv.field = load i1, ptr %fv.pp, align 1
%zN = zext i1 %fv.field to i64
%fv.val = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1
br label %fv.merge
fv.case7: ; preds = %entry
store { i64, [24 x i8] } %loadN, ptr %fv.utmp8, align 8
%fv.pp9 = getelementptr inbounds nuw { i64, [24 x i8] }, ptr %fv.utmp8, i32 0, i32 1
%fv.field10 = load i64, ptr %fv.pp9, align 8
%fv.val11 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field10, 1
br label %fv.merge
fv.case12: ; preds = %entry
store { i64, [24 x i8] } %loadN, ptr %fv.utmp13, align 8
%fv.pp14 = getelementptr inbounds nuw { i64, [24 x i8] }, ptr %fv.utmp13, i32 0, i32 1
%fv.field15 = load { ptr, i64 }, ptr %fv.pp14, align 8
store { ptr, i64 } %fv.field15, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%fv.val16 = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
br label %fv.merge
fv.case17: ; preds = %entry
store { i64, [24 x i8] } %loadN, ptr %fv.utmp18, align 8
%fv.pp19 = getelementptr inbounds nuw { i64, [24 x i8] }, ptr %fv.utmp18, i32 0, i32 1
%fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8
store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8
%ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64
%fv.val23 = insertvalue { i64, i64 } { i64 149, i64 undef }, i64 %ba.p2i22, 1
br label %fv.merge
fv.case24: ; preds = %entry
store { i64, [24 x i8] } %loadN, ptr %fv.utmp25, align 8
%fv.pp26 = getelementptr inbounds nuw { i64, [24 x i8] }, ptr %fv.utmp25, i32 0, i32 1
%fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8
store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8
%ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64
%fv.val30 = insertvalue { i64, i64 } { i64 150, i64 undef }, i64 %ba.p2i29, 1
br label %fv.merge
}
; Function Attrs: nounwind
define internal { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.1242, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1234, i64 1 }, { ptr, i64 } %fn.load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load i64, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%allocaN = alloca { i64, i64 }, align 8
store { i64, i64 } { i64 17, i64 0 }, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %loadN)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.907, label %if.merge.908
if.then.907: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1244, i64 1 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1243, i64 1 }, { ptr, i64 } %callN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.908
if.merge.908: ; preds = %if.then.907, %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %1) #0 {
entry:
%alloca = alloca i64, align 8
store i64 %1, ptr %alloca, align 8
%load = load i64, ptr %alloca, align 8
%allocaN = alloca i64, align 8
store i64 %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.1251, i64 0, i64 %loadN
%fn.load = load { ptr, i64 }, ptr %fn.gep, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1245, i64 1 }, { ptr, i64 } %fn.load)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %call, ptr %allocaN, align 8
%loadN = load i64, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%allocaN = alloca { i64, i64 }, align 8
store { i64, i64 } { i64 17, i64 0 }, ptr %allocaN, align 8
%loadN = load { i64, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %loadN)
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp sgt i64 %len, 0
br i1 %icmp, label %if.then.909, label %if.merge.910
if.then.909: ; preds = %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1253, i64 1 })
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1252, i64 1 }, { ptr, i64 } %callN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.910
if.merge.910: ; preds = %if.then.909, %entry
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
ret { ptr, i64 } %loadN
}
; Function Attrs: nounwind
define internal { ptr, i64 } @slice_to_string__i64(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.1254, i64 1 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.924
while.hdr.924: ; preds = %if.merge.928, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.925, label %while.exit.926
while.body.925: ; preds = %while.hdr.924
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.927, label %if.merge.928
while.exit.926: ; preds = %while.hdr.924
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1255, i64 1 })
ret { ptr, i64 } %call
if.then.927: ; preds = %while.body.925
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1256, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.928
if.merge.928: ; preds = %if.then.927, %while.body.925
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i64, ptr %ig.data, i64 %loadN
%ig.val = load i64, ptr %ig.ptr, align 8
%ba.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %ig.val, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.924
}
; Function Attrs: nounwind
define internal { ptr, i64 } @slice_to_string__FlagValue(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%ba.tmp = alloca { i1, { ptr, i64 } }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.1257, i64 1 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.929
while.hdr.929: ; preds = %if.merge.933, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.930, label %while.exit.931
while.body.930: ; preds = %while.hdr.929
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.932, label %if.merge.933
while.exit.931: ; preds = %while.hdr.929
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1258, i64 1 })
ret { ptr, i64 } %call
if.then.932: ; preds = %while.body.930
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1259, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.933
if.merge.933: ; preds = %if.then.932, %while.body.930
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr { i1, { ptr, i64 } }, ptr %ig.data, i64 %loadN
%ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8
store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 178, i64 undef }, i64 %ba.p2i, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.929
}
; Function Attrs: nounwind
define internal { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.1260, i64 1 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.934
while.hdr.934: ; preds = %if.merge.938, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.935, label %while.exit.936
while.body.935: ; preds = %while.hdr.934
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.937, label %if.merge.938
while.exit.936: ; preds = %while.hdr.934
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1261, i64 1 })
ret { ptr, i64 } %call
if.then.937: ; preds = %while.body.935
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1262, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.938
if.merge.938: ; preds = %if.then.937, %while.body.935
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i8, ptr %ig.data, i64 %loadN
%ig.val = load i8, ptr %ig.ptr, align 1
%zN = zext i8 %ig.val to i64
%ba.val = insertvalue { i64, i64 } { i64 6, i64 undef }, i64 %zN, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.934
}
; Function Attrs: nounwind
define internal { ptr, i64 } @slice_to_string__u64(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.1263, i64 1 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.939
while.hdr.939: ; preds = %if.merge.943, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.940, label %while.exit.941
while.body.940: ; preds = %while.hdr.939
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.942, label %if.merge.943
while.exit.941: ; preds = %while.hdr.939
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1264, i64 1 })
ret { ptr, i64 } %call
if.then.942: ; preds = %while.body.940
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1265, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.943
if.merge.943: ; preds = %if.then.942, %while.body.940
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr i64, ptr %ig.data, i64 %loadN
%ig.val = load i64, ptr %ig.ptr, align 8
%ba.val = insertvalue { i64, i64 } { i64 9, i64 undef }, i64 %ig.val, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.939
}
; Function Attrs: nounwind
define internal { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%ba.tmp = alloca { i64, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.1266, i64 1 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.944
while.hdr.944: ; preds = %if.merge.948, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.945, label %while.exit.946
while.body.945: ; preds = %while.hdr.944
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.947, label %if.merge.948
while.exit.946: ; preds = %while.hdr.944
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1267, i64 1 })
ret { ptr, i64 } %call
if.then.947: ; preds = %while.body.945
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1268, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.948
if.merge.948: ; preds = %if.then.947, %while.body.945
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr { i64, i64 }, ptr %ig.data, i64 %loadN
%ig.val = load { i64, i64 }, ptr %ig.ptr, align 8
store { i64, i64 } %ig.val, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 13, i64 undef }, i64 %ba.p2i, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.944
}
; Function Attrs: nounwind
define internal { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.1269, i64 1 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.949
while.hdr.949: ; preds = %if.merge.953, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.950, label %while.exit.951
while.body.950: ; preds = %while.hdr.949
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.952, label %if.merge.953
while.exit.951: ; preds = %while.hdr.949
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1270, i64 1 })
ret { ptr, i64 } %call
if.then.952: ; preds = %while.body.950
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1271, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.953
if.merge.953: ; preds = %if.then.952, %while.body.950
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr { ptr, i64 }, ptr %ig.data, i64 %loadN
%ig.val = load { ptr, i64 }, ptr %ig.ptr, align 8
store { ptr, i64 } %ig.val, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.949
}
; Function Attrs: nounwind
define internal { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%ba.tmp = alloca { { ptr, i64 }, i1, i1 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.1272, i64 1 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.962
while.hdr.962: ; preds = %if.merge.966, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.963, label %while.exit.964
while.body.963: ; preds = %while.hdr.962
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.965, label %if.merge.966
while.exit.964: ; preds = %while.hdr.962
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1273, i64 1 })
ret { ptr, i64 } %call
if.then.965: ; preds = %while.body.963
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1274, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.966
if.merge.966: ; preds = %if.then.965, %while.body.963
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr { { ptr, i64 }, i1, i1 }, ptr %ig.data, i64 %loadN
%ig.val = load { { ptr, i64 }, i1, i1 }, ptr %ig.ptr, align 8
store { { ptr, i64 }, i1, i1 } %ig.val, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 175, i64 undef }, i64 %ba.p2i, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.962
}
; Function Attrs: nounwind
define internal { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%ba.tmp = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.1275, i64 1 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.967
while.hdr.967: ; preds = %if.merge.971, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.968, label %while.exit.969
while.body.968: ; preds = %while.hdr.967
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.970, label %if.merge.971
while.exit.969: ; preds = %while.hdr.967
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1276, i64 1 })
ret { ptr, i64 } %call
if.then.970: ; preds = %while.body.968
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1277, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.971
if.merge.971: ; preds = %if.then.970, %while.body.968
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ig.data, i64 %loadN
%ig.val = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ig.ptr, align 8
store { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 177, i64 undef }, i64 %ba.p2i, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.967
}
; Function Attrs: nounwind
define internal { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %1) #0 {
entry:
%alloca = alloca { ptr, i64 }, align 8
%ba.tmp = alloca { i32, i64, i1, i1, i1, i1, i1, i64 }, align 8
store { ptr, i64 } %1, ptr %alloca, align 8
%allocaN = alloca { ptr, i64 }, align 8
store { ptr, i64 } { ptr @str.1278, i64 1 }, ptr %allocaN, align 8
%allocaN = alloca i64, align 8
store i64 0, ptr %allocaN, align 8
br label %while.hdr.972
while.hdr.972: ; preds = %if.merge.976, %entry
%load = load i64, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%len = extractvalue { ptr, i64 } %loadN, 1
%icmp = icmp slt i64 %load, %len
br i1 %icmp, label %while.body.973, label %while.exit.974
while.body.973: ; preds = %while.hdr.972
%loadN = load i64, ptr %allocaN, align 8
%icmpN = icmp sgt i64 %loadN, 0
br i1 %icmpN, label %if.then.975, label %if.merge.976
while.exit.974: ; preds = %while.hdr.972
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1279, i64 1 })
ret { ptr, i64 } %call
if.then.975: ; preds = %while.body.973
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1280, i64 2 })
store { ptr, i64 } %callN, ptr %allocaN, align 8
br label %if.merge.976
if.merge.976: ; preds = %if.then.975, %while.body.973
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
%loadN = load { ptr, i64 }, ptr %alloca, align 8
%loadN = load i64, ptr %allocaN, align 8
%ig.data = extractvalue { ptr, i64 } %loadN, 0
%ig.ptr = getelementptr { i32, i64, i1, i1, i1, i1, i1, i64 }, ptr %ig.data, i64 %loadN
%ig.val = load { i32, i64, i1, i1, i1, i1, i1, i64 }, ptr %ig.ptr, align 8
store { i32, i64, i1, i1, i1, i1, i1, i64 } %ig.val, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 197, i64 undef }, i64 %ba.p2i, 1
%callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
store { ptr, i64 } %callN, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%add = add i64 %loadN, 1
store i64 %add, ptr %allocaN, align 8
br label %while.hdr.972
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
store ptr %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1055, label %if.else.1056
if.then.1055: ; preds = %entry
br label %if.merge.1057
if.else.1056: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1283, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1282, i64 5 }, { ptr, i64 } %callN)
br label %if.merge.1057
if.merge.1057: ; preds = %if.else.1056, %if.then.1055
%bp = phi { ptr, i64 } [ { ptr @str.1281, i64 4 }, %if.then.1055 ], [ %callN, %if.else.1056 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1071, label %if.else.1072
if.then.1071: ; preds = %entry
br label %if.merge.1073
if.else.1072: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1286, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1285, i64 5 }, { ptr, i64 } %callN)
br label %if.merge.1073
if.merge.1073: ; preds = %if.else.1072, %if.then.1071
%bp = phi { ptr, i64 } [ { ptr @str.1284, i64 4 }, %if.then.1071 ], [ %callN, %if.else.1072 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1074, label %if.else.1075
if.then.1074: ; preds = %entry
br label %if.merge.1076
if.else.1075: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1289, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1288, i64 9 }, { ptr, i64 } %callN)
br label %if.merge.1076
if.merge.1076: ; preds = %if.else.1075, %if.then.1074
%bp = phi { ptr, i64 } [ { ptr @str.1287, i64 4 }, %if.then.1074 ], [ %callN, %if.else.1075 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_CBlockingIo(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1077, label %if.else.1078
if.then.1077: ; preds = %entry
br label %if.merge.1079
if.else.1078: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1292, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1291, i64 12 }, { ptr, i64 } %callN)
br label %if.merge.1079
if.merge.1079: ; preds = %if.else.1078, %if.then.1077
%bp = phi { ptr, i64 } [ { ptr @str.1290, i64 4 }, %if.then.1077 ], [ %callN, %if.else.1078 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1080, label %if.else.1081
if.then.1080: ; preds = %entry
br label %if.merge.1082
if.else.1081: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1295, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1294, i64 11 }, { ptr, i64 } %callN)
br label %if.merge.1082
if.merge.1082: ; preds = %if.else.1081, %if.then.1080
%bp = phi { ptr, i64 } [ { ptr @str.1293, i64 4 }, %if.then.1080 ], [ %callN, %if.else.1081 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1083, label %if.else.1084
if.then.1083: ; preds = %entry
br label %if.merge.1085
if.else.1084: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1298, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1297, i64 4 }, { ptr, i64 } %callN)
br label %if.merge.1085
if.merge.1085: ; preds = %if.else.1084, %if.then.1083
%bp = phi { ptr, i64 } [ { ptr @str.1296, i64 4 }, %if.then.1083 ], [ %callN, %if.else.1084 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1086, label %if.else.1087
if.then.1086: ; preds = %entry
br label %if.merge.1088
if.else.1087: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1301, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1300, i64 11 }, { ptr, i64 } %callN)
br label %if.merge.1088
if.merge.1088: ; preds = %if.else.1087, %if.then.1086
%bp = phi { ptr, i64 } [ { ptr @str.1299, i64 4 }, %if.then.1086 ], [ %callN, %if.else.1087 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1089, label %if.else.1090
if.then.1089: ; preds = %entry
br label %if.merge.1091
if.else.1090: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1304, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1303, i64 6 }, { ptr, i64 } %callN)
br label %if.merge.1091
if.merge.1091: ; preds = %if.else.1090, %if.then.1089
%bp = phi { ptr, i64 } [ { ptr @str.1302, i64 4 }, %if.then.1089 ], [ %callN, %if.else.1090 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1092, label %if.else.1093
if.then.1092: ; preds = %entry
br label %if.merge.1094
if.else.1093: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1307, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1306, i64 9 }, { ptr, i64 } %callN)
br label %if.merge.1094
if.merge.1094: ; preds = %if.else.1093, %if.then.1092
%bp = phi { ptr, i64 } [ { ptr @str.1305, i64 4 }, %if.then.1092 ], [ %callN, %if.else.1093 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1095, label %if.else.1096
if.then.1095: ; preds = %entry
br label %if.merge.1097
if.else.1096: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1310, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1309, i64 18 }, { ptr, i64 } %callN)
br label %if.merge.1097
if.merge.1097: ; preds = %if.else.1096, %if.then.1095
%bp = phi { ptr, i64 } [ { ptr @str.1308, i64 4 }, %if.then.1095 ], [ %callN, %if.else.1096 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1098, label %if.else.1099
if.then.1098: ; preds = %entry
br label %if.merge.1100
if.else.1099: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1313, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1312, i64 5 }, { ptr, i64 } %callN)
br label %if.merge.1100
if.merge.1100: ; preds = %if.else.1099, %if.then.1098
%bp = phi { ptr, i64 } [ { ptr @str.1311, i64 4 }, %if.then.1098 ], [ %callN, %if.else.1099 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1101, label %if.else.1102
if.then.1101: ; preds = %entry
br label %if.merge.1103
if.else.1102: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1316, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1315, i64 4 }, { ptr, i64 } %callN)
br label %if.merge.1103
if.merge.1103: ; preds = %if.else.1102, %if.then.1101
%bp = phi { ptr, i64 } [ { ptr @str.1314, i64 4 }, %if.then.1101 ], [ %callN, %if.else.1102 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1104, label %if.else.1105
if.then.1104: ; preds = %entry
br label %if.merge.1106
if.else.1105: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1319, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1318, i64 9 }, { ptr, i64 } %callN)
br label %if.merge.1106
if.merge.1106: ; preds = %if.else.1105, %if.then.1104
%bp = phi { ptr, i64 } [ { ptr @str.1317, i64 4 }, %if.then.1104 ], [ %callN, %if.else.1105 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1107, label %if.else.1108
if.then.1107: ; preds = %entry
br label %if.merge.1109
if.else.1108: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1322, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1321, i64 4 }, { ptr, i64 } %callN)
br label %if.merge.1109
if.merge.1109: ; preds = %if.else.1108, %if.then.1107
%bp = phi { ptr, i64 } [ { ptr @str.1320, i64 4 }, %if.then.1107 ], [ %callN, %if.else.1108 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
store ptr %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1110, label %if.else.1111
if.then.1110: ; preds = %entry
br label %if.merge.1112
if.else.1111: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1325, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1324, i64 8 }, { ptr, i64 } %callN)
br label %if.merge.1112
if.merge.1112: ; preds = %if.else.1111, %if.then.1110
%bp = phi { ptr, i64 } [ { ptr @str.1323, i64 4 }, %if.then.1110 ], [ %callN, %if.else.1111 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1113, label %if.else.1114
if.then.1113: ; preds = %entry
br label %if.merge.1115
if.else.1114: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1328, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1327, i64 6 }, { ptr, i64 } %callN)
br label %if.merge.1115
if.merge.1115: ; preds = %if.else.1114, %if.then.1113
%bp = phi { ptr, i64 } [ { ptr @str.1326, i64 4 }, %if.then.1113 ], [ %callN, %if.else.1114 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
store ptr %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1116, label %if.else.1117
if.then.1116: ; preds = %entry
br label %if.merge.1118
if.else.1117: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1331, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1330, i64 9 }, { ptr, i64 } %callN)
br label %if.merge.1118
if.merge.1118: ; preds = %if.else.1117, %if.then.1116
%bp = phi { ptr, i64 } [ { ptr @str.1329, i64 4 }, %if.then.1116 ], [ %callN, %if.else.1117 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1119, label %if.else.1120
if.then.1119: ; preds = %entry
br label %if.merge.1121
if.else.1120: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1334, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1333, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1121
if.merge.1121: ; preds = %if.else.1120, %if.then.1119
%bp = phi { ptr, i64 } [ { ptr @str.1332, i64 4 }, %if.then.1119 ], [ %callN, %if.else.1120 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1122, label %if.else.1123
if.then.1122: ; preds = %entry
br label %if.merge.1124
if.else.1123: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1337, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1336, i64 5 }, { ptr, i64 } %callN)
br label %if.merge.1124
if.merge.1124: ; preds = %if.else.1123, %if.then.1122
%bp = phi { ptr, i64 } [ { ptr @str.1335, i64 4 }, %if.then.1122 ], [ %callN, %if.else.1123 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1125, label %if.else.1126
if.then.1125: ; preds = %entry
br label %if.merge.1127
if.else.1126: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1340, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1339, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1127
if.merge.1127: ; preds = %if.else.1126, %if.then.1125
%bp = phi { ptr, i64 } [ { ptr @str.1338, i64 4 }, %if.then.1125 ], [ %callN, %if.else.1126 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__mptr_string(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
store ptr %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1128, label %if.else.1129
if.then.1128: ; preds = %entry
br label %if.merge.1130
if.else.1129: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1343, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1342, i64 9 }, { ptr, i64 } %callN)
br label %if.merge.1130
if.merge.1130: ; preds = %if.else.1129, %if.then.1128
%bp = phi { ptr, i64 } [ { ptr @str.1341, i64 4 }, %if.then.1128 ], [ %callN, %if.else.1129 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1131, label %if.else.1132
if.then.1131: ; preds = %entry
br label %if.merge.1133
if.else.1132: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1346, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1345, i64 4 }, { ptr, i64 } %callN)
br label %if.merge.1133
if.merge.1133: ; preds = %if.else.1132, %if.then.1131
%bp = phi { ptr, i64 } [ { ptr @str.1344, i64 4 }, %if.then.1131 ], [ %callN, %if.else.1132 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1134, label %if.else.1135
if.then.1134: ; preds = %entry
br label %if.merge.1136
if.else.1135: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1349, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1348, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1136
if.merge.1136: ; preds = %if.else.1135, %if.then.1134
%bp = phi { ptr, i64 } [ { ptr @str.1347, i64 4 }, %if.then.1134 ], [ %callN, %if.else.1135 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1137, label %if.else.1138
if.then.1137: ; preds = %entry
br label %if.merge.1139
if.else.1138: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1352, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1351, i64 5 }, { ptr, i64 } %callN)
br label %if.merge.1139
if.merge.1139: ; preds = %if.else.1138, %if.then.1137
%bp = phi { ptr, i64 } [ { ptr @str.1350, i64 4 }, %if.then.1137 ], [ %callN, %if.else.1138 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1140, label %if.else.1141
if.then.1140: ; preds = %entry
br label %if.merge.1142
if.else.1141: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1355, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1354, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1142
if.merge.1142: ; preds = %if.else.1141, %if.then.1140
%bp = phi { ptr, i64 } [ { ptr @str.1353, i64 4 }, %if.then.1140 ], [ %callN, %if.else.1141 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1143, label %if.else.1144
if.then.1143: ; preds = %entry
br label %if.merge.1145
if.else.1144: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1358, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1357, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1145
if.merge.1145: ; preds = %if.else.1144, %if.then.1143
%bp = phi { ptr, i64 } [ { ptr @str.1356, i64 4 }, %if.then.1143 ], [ %callN, %if.else.1144 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1146, label %if.else.1147
if.then.1146: ; preds = %entry
br label %if.merge.1148
if.else.1147: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1361, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1360, i64 11 }, { ptr, i64 } %callN)
br label %if.merge.1148
if.merge.1148: ; preds = %if.else.1147, %if.then.1146
%bp = phi { ptr, i64 } [ { ptr @str.1359, i64 4 }, %if.then.1146 ], [ %callN, %if.else.1147 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1149, label %if.else.1150
if.then.1149: ; preds = %entry
br label %if.merge.1151
if.else.1150: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1364, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1363, i64 5 }, { ptr, i64 } %callN)
br label %if.merge.1151
if.merge.1151: ; preds = %if.else.1150, %if.then.1149
%bp = phi { ptr, i64 } [ { ptr @str.1362, i64 4 }, %if.then.1149 ], [ %callN, %if.else.1150 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1152, label %if.else.1153
if.then.1152: ; preds = %entry
br label %if.merge.1154
if.else.1153: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1367, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1366, i64 8 }, { ptr, i64 } %callN)
br label %if.merge.1154
if.merge.1154: ; preds = %if.else.1153, %if.then.1152
%bp = phi { ptr, i64 } [ { ptr @str.1365, i64 4 }, %if.then.1152 ], [ %callN, %if.else.1153 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Pool(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1155, label %if.else.1156
if.then.1155: ; preds = %entry
br label %if.merge.1157
if.else.1156: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1370, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1369, i64 5 }, { ptr, i64 } %callN)
br label %if.merge.1157
if.merge.1157: ; preds = %if.else.1156, %if.then.1155
%bp = phi { ptr, i64 } [ { ptr @str.1368, i64 4 }, %if.then.1155 ], [ %callN, %if.else.1156 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__mptr_Completion(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
store ptr %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1158, label %if.else.1159
if.then.1158: ; preds = %entry
br label %if.merge.1160
if.else.1159: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1373, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1372, i64 13 }, { ptr, i64 } %callN)
br label %if.merge.1160
if.merge.1160: ; preds = %if.else.1159, %if.then.1158
%bp = phi { ptr, i64 } [ { ptr @str.1371, i64 4 }, %if.then.1158 ], [ %callN, %if.else.1159 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1161, label %if.else.1162
if.then.1161: ; preds = %entry
br label %if.merge.1163
if.else.1162: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1376, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1375, i64 9 }, { ptr, i64 } %callN)
br label %if.merge.1163
if.merge.1163: ; preds = %if.else.1162, %if.then.1161
%bp = phi { ptr, i64 } [ { ptr @str.1374, i64 4 }, %if.then.1161 ], [ %callN, %if.else.1162 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_PoolState(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1164, label %if.else.1165
if.then.1164: ; preds = %entry
br label %if.merge.1166
if.else.1165: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1379, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1378, i64 10 }, { ptr, i64 } %callN)
br label %if.merge.1166
if.merge.1166: ; preds = %if.else.1165, %if.then.1164
%bp = phi { ptr, i64 } [ { ptr @str.1377, i64 4 }, %if.then.1164 ], [ %callN, %if.else.1165 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
store ptr %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1167, label %if.else.1168
if.then.1167: ; preds = %entry
br label %if.merge.1169
if.else.1168: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1382, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1381, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1169
if.merge.1169: ; preds = %if.else.1168, %if.then.1167
%bp = phi { ptr, i64 } [ { ptr @str.1380, i64 4 }, %if.then.1167 ], [ %callN, %if.else.1168 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1170, label %if.else.1171
if.then.1170: ; preds = %entry
br label %if.merge.1172
if.else.1171: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1385, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1384, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1172
if.merge.1172: ; preds = %if.else.1171, %if.then.1170
%bp = phi { ptr, i64 } [ { ptr @str.1383, i64 4 }, %if.then.1170 ], [ %callN, %if.else.1171 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_usize(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1173, label %if.else.1174
if.then.1173: ; preds = %entry
br label %if.merge.1175
if.else.1174: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1388, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1387, i64 6 }, { ptr, i64 } %callN)
br label %if.merge.1175
if.merge.1175: ; preds = %if.else.1174, %if.then.1173
%bp = phi { ptr, i64 } [ { ptr @str.1386, i64 4 }, %if.then.1173 ], [ %callN, %if.else.1174 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1176, label %if.else.1177
if.then.1176: ; preds = %entry
br label %if.merge.1178
if.else.1177: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1391, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1390, i64 6 }, { ptr, i64 } %callN)
br label %if.merge.1178
if.merge.1178: ; preds = %if.else.1177, %if.then.1176
%bp = phi { ptr, i64 } [ { ptr @str.1389, i64 4 }, %if.then.1176 ], [ %callN, %if.else.1177 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_MutexBuf(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1179, label %if.else.1180
if.then.1179: ; preds = %entry
br label %if.merge.1181
if.else.1180: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1394, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1393, i64 9 }, { ptr, i64 } %callN)
br label %if.merge.1181
if.merge.1181: ; preds = %if.else.1180, %if.then.1179
%bp = phi { ptr, i64 } [ { ptr @str.1392, i64 4 }, %if.then.1179 ], [ %callN, %if.else.1180 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_CondBuf(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1182, label %if.else.1183
if.then.1182: ; preds = %entry
br label %if.merge.1184
if.else.1183: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1397, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1396, i64 8 }, { ptr, i64 } %callN)
br label %if.merge.1184
if.merge.1184: ; preds = %if.else.1183, %if.then.1182
%bp = phi { ptr, i64 } [ { ptr @str.1395, i64 4 }, %if.then.1182 ], [ %callN, %if.else.1183 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Mutex(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1185, label %if.else.1186
if.then.1185: ; preds = %entry
br label %if.merge.1187
if.else.1186: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1400, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1399, i64 6 }, { ptr, i64 } %callN)
br label %if.merge.1187
if.merge.1187: ; preds = %if.else.1186, %if.then.1185
%bp = phi { ptr, i64 } [ { ptr @str.1398, i64 4 }, %if.then.1185 ], [ %callN, %if.else.1186 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Cond(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1188, label %if.else.1189
if.then.1188: ; preds = %entry
br label %if.merge.1190
if.else.1189: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1403, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1402, i64 5 }, { ptr, i64 } %callN)
br label %if.merge.1190
if.merge.1190: ; preds = %if.else.1189, %if.then.1188
%bp = phi { ptr, i64 } [ { ptr @str.1401, i64 4 }, %if.then.1188 ], [ %callN, %if.else.1189 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Thread(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1191, label %if.else.1192
if.then.1191: ; preds = %entry
br label %if.merge.1193
if.else.1192: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1406, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1405, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1193
if.merge.1193: ; preds = %if.else.1192, %if.then.1191
%bp = phi { ptr, i64 } [ { ptr @str.1404, i64 4 }, %if.then.1191 ], [ %callN, %if.else.1192 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__mptr_PoolTask(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
store ptr %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1194, label %if.else.1195
if.then.1194: ; preds = %entry
br label %if.merge.1196
if.else.1195: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1409, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1408, i64 11 }, { ptr, i64 } %callN)
br label %if.merge.1196
if.merge.1196: ; preds = %if.else.1195, %if.then.1194
%bp = phi { ptr, i64 } [ { ptr @str.1407, i64 4 }, %if.then.1194 ], [ %callN, %if.else.1195 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__mptr_usize(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
store ptr %load, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1197, label %if.else.1198
if.then.1197: ; preds = %entry
br label %if.merge.1199
if.else.1198: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1412, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1411, i64 8 }, { ptr, i64 } %callN)
br label %if.merge.1199
if.merge.1199: ; preds = %if.else.1198, %if.then.1197
%bp = phi { ptr, i64 } [ { ptr @str.1410, i64 4 }, %if.then.1197 ], [ %callN, %if.else.1198 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_FiberCtx(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1200, label %if.else.1201
if.then.1200: ; preds = %entry
br label %if.merge.1202
if.else.1201: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1415, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1414, i64 9 }, { ptr, i64 } %callN)
br label %if.merge.1202
if.merge.1202: ; preds = %if.else.1201, %if.then.1200
%bp = phi { ptr, i64 } [ { ptr @str.1413, i64 4 }, %if.then.1200 ], [ %callN, %if.else.1201 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Fiber(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1203, label %if.else.1204
if.then.1203: ; preds = %entry
br label %if.merge.1205
if.else.1204: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1418, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1417, i64 6 }, { ptr, i64 } %callN)
br label %if.merge.1205
if.merge.1205: ; preds = %if.else.1204, %if.then.1203
%bp = phi { ptr, i64 } [ { ptr @str.1416, i64 4 }, %if.then.1203 ], [ %callN, %if.else.1204 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1206, label %if.else.1207
if.then.1206: ; preds = %entry
br label %if.merge.1208
if.else.1207: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1421, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1420, i64 12 }, { ptr, i64 } %callN)
br label %if.merge.1208
if.merge.1208: ; preds = %if.else.1207, %if.then.1206
%bp = phi { ptr, i64 } [ { ptr @str.1419, i64 4 }, %if.then.1206 ], [ %callN, %if.else.1207 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CBlockingIo(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1209, label %if.else.1210
if.then.1209: ; preds = %entry
br label %if.merge.1211
if.else.1210: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1424, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1423, i64 13 }, { ptr, i64 } %callN)
br label %if.merge.1211
if.merge.1211: ; preds = %if.else.1210, %if.then.1209
%bp = phi { ptr, i64 } [ { ptr @str.1422, i64 4 }, %if.then.1209 ], [ %callN, %if.else.1210 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_SpawnOpts(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1212, label %if.else.1213
if.then.1212: ; preds = %entry
br label %if.merge.1214
if.else.1213: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1427, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1426, i64 10 }, { ptr, i64 } %callN)
br label %if.merge.1214
if.merge.1214: ; preds = %if.else.1213, %if.then.1212
%bp = phi { ptr, i64 } [ { ptr @str.1425, i64 4 }, %if.then.1212 ], [ %callN, %if.else.1213 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_ParkToken(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1215, label %if.else.1216
if.then.1215: ; preds = %entry
br label %if.merge.1217
if.else.1216: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1430, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1429, i64 10 }, { ptr, i64 } %callN)
br label %if.merge.1217
if.merge.1217: ; preds = %if.else.1216, %if.then.1215
%bp = phi { ptr, i64 } [ { ptr @str.1428, i64 4 }, %if.then.1215 ], [ %callN, %if.else.1216 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_ptr_Fiber(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1218, label %if.else.1219
if.then.1218: ; preds = %entry
br label %if.merge.1220
if.else.1219: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1433, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1432, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1220
if.merge.1220: ; preds = %if.else.1219, %if.then.1218
%bp = phi { ptr, i64 } [ { ptr @str.1431, i64 4 }, %if.then.1218 ], [ %callN, %if.else.1219 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_ptr_FiberCtx(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1221, label %if.else.1222
if.then.1221: ; preds = %entry
br label %if.merge.1223
if.else.1222: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1436, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1435, i64 10 }, { ptr, i64 } %callN)
br label %if.merge.1223
if.merge.1223: ; preds = %if.else.1222, %if.then.1221
%bp = phi { ptr, i64 } [ { ptr @str.1434, i64 4 }, %if.then.1221 ], [ %callN, %if.else.1222 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_u64(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1224, label %if.else.1225
if.then.1224: ; preds = %entry
br label %if.merge.1226
if.else.1225: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1439, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1438, i64 4 }, { ptr, i64 } %callN)
br label %if.merge.1226
if.merge.1226: ; preds = %if.else.1225, %if.then.1224
%bp = phi { ptr, i64 } [ { ptr @str.1437, i64 4 }, %if.then.1224 ], [ %callN, %if.else.1225 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_AR_13_u64(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1227, label %if.else.1228
if.then.1227: ; preds = %entry
br label %if.merge.1229
if.else.1228: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1442, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1441, i64 8 }, { ptr, i64 } %callN)
br label %if.merge.1229
if.merge.1229: ; preds = %if.else.1228, %if.then.1227
%bp = phi { ptr, i64 } [ { ptr @str.1440, i64 4 }, %if.then.1227 ], [ %callN, %if.else.1228 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1230, label %if.else.1231
if.then.1230: ; preds = %entry
br label %if.merge.1232
if.else.1231: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1445, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1444, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1232
if.merge.1232: ; preds = %if.else.1231, %if.then.1230
%bp = phi { ptr, i64 } [ { ptr @str.1443, i64 4 }, %if.then.1230 ], [ %callN, %if.else.1231 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1233, label %if.else.1234
if.then.1233: ; preds = %entry
br label %if.merge.1235
if.else.1234: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1448, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1447, i64 4 }, { ptr, i64 } %callN)
br label %if.merge.1235
if.merge.1235: ; preds = %if.else.1234, %if.then.1233
%bp = phi { ptr, i64 } [ { ptr @str.1446, i64 4 }, %if.then.1233 ], [ %callN, %if.else.1234 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1236, label %if.else.1237
if.then.1236: ; preds = %entry
br label %if.merge.1238
if.else.1237: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1451, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1450, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1238
if.merge.1238: ; preds = %if.else.1237, %if.then.1236
%bp = phi { ptr, i64 } [ { ptr @str.1449, i64 4 }, %if.then.1236 ], [ %callN, %if.else.1237 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1239, label %if.else.1240
if.then.1239: ; preds = %entry
br label %if.merge.1241
if.else.1240: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1454, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1453, i64 6 }, { ptr, i64 } %callN)
br label %if.merge.1241
if.merge.1241: ; preds = %if.else.1240, %if.then.1239
%bp = phi { ptr, i64 } [ { ptr @str.1452, i64 4 }, %if.then.1239 ], [ %callN, %if.else.1240 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1242, label %if.else.1243
if.then.1242: ; preds = %entry
br label %if.merge.1244
if.else.1243: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1457, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1456, i64 3 }, { ptr, i64 } %callN)
br label %if.merge.1244
if.merge.1244: ; preds = %if.else.1243, %if.then.1242
%bp = phi { ptr, i64 } [ { ptr @str.1455, i64 4 }, %if.then.1242 ], [ %callN, %if.else.1243 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1245, label %if.else.1246
if.then.1245: ; preds = %entry
br label %if.merge.1247
if.else.1246: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1460, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1459, i64 5 }, { ptr, i64 } %callN)
br label %if.merge.1247
if.merge.1247: ; preds = %if.else.1246, %if.then.1245
%bp = phi { ptr, i64 } [ { ptr @str.1458, i64 4 }, %if.then.1245 ], [ %callN, %if.else.1246 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_BuildOptions(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1248, label %if.else.1249
if.then.1248: ; preds = %entry
br label %if.merge.1250
if.else.1249: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1463, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1462, i64 13 }, { ptr, i64 } %callN)
br label %if.merge.1250
if.merge.1250: ; preds = %if.else.1249, %if.then.1248
%bp = phi { ptr, i64 } [ { ptr @str.1461, i64 4 }, %if.then.1248 ], [ %callN, %if.else.1249 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_List__string(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1251, label %if.else.1252
if.then.1251: ; preds = %entry
br label %if.merge.1253
if.else.1252: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1466, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1465, i64 13 }, { ptr, i64 } %callN)
br label %if.merge.1253
if.merge.1253: ; preds = %if.else.1252, %if.then.1251
%bp = phi { ptr, i64 } [ { ptr @str.1464, i64 4 }, %if.then.1251 ], [ %callN, %if.else.1252 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_ptr_List__string(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1254, label %if.else.1255
if.then.1254: ; preds = %entry
br label %if.merge.1256
if.else.1255: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1469, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1468, i64 14 }, { ptr, i64 } %callN)
br label %if.merge.1256
if.merge.1256: ; preds = %if.else.1255, %if.then.1254
%bp = phi { ptr, i64 } [ { ptr @str.1467, i64 4 }, %if.then.1254 ], [ %callN, %if.else.1255 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_Allocator(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1257, label %if.else.1258
if.then.1257: ; preds = %entry
br label %if.merge.1259
if.else.1258: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1472, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1471, i64 10 }, { ptr, i64 } %callN)
br label %if.merge.1259
if.merge.1259: ; preds = %if.else.1258, %if.then.1257
%bp = phi { ptr, i64 } [ { ptr @str.1470, i64 4 }, %if.then.1257 ], [ %callN, %if.else.1258 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_mptr_string(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1260, label %if.else.1261
if.then.1260: ; preds = %entry
br label %if.merge.1262
if.else.1261: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1475, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1474, i64 10 }, { ptr, i64 } %callN)
br label %if.merge.1262
if.merge.1262: ; preds = %if.else.1261, %if.then.1260
%bp = phi { ptr, i64 } [ { ptr @str.1473, i64 4 }, %if.then.1260 ], [ %callN, %if.else.1261 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_ProcessResult(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1263, label %if.else.1264
if.then.1263: ; preds = %entry
br label %if.merge.1265
if.else.1264: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1478, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1477, i64 14 }, { ptr, i64 } %callN)
br label %if.merge.1265
if.merge.1265: ; preds = %if.else.1264, %if.then.1263
%bp = phi { ptr, i64 } [ { ptr @str.1476, i64 4 }, %if.then.1263 ], [ %callN, %if.else.1264 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_SL_string(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1266, label %if.else.1267
if.then.1266: ; preds = %entry
br label %if.merge.1268
if.else.1267: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1481, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1480, i64 9 }, { ptr, i64 } %callN)
br label %if.merge.1268
if.merge.1268: ; preds = %if.else.1267, %if.then.1266
%bp = phi { ptr, i64 } [ { ptr @str.1479, i64 4 }, %if.then.1266 ], [ %callN, %if.else.1267 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_AR_2_string(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1269, label %if.else.1270
if.then.1269: ; preds = %entry
br label %if.merge.1271
if.else.1270: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1484, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1483, i64 10 }, { ptr, i64 } %callN)
br label %if.merge.1271
if.merge.1271: ; preds = %if.else.1270, %if.then.1269
%bp = phi { ptr, i64 } [ { ptr @str.1482, i64 4 }, %if.then.1269 ], [ %callN, %if.else.1270 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_opt_cstring(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1272, label %if.else.1273
if.then.1272: ; preds = %entry
br label %if.merge.1274
if.else.1273: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1487, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1486, i64 9 }, { ptr, i64 } %callN)
br label %if.merge.1274
if.merge.1274: ; preds = %if.else.1273, %if.then.1272
%bp = phi { ptr, i64 } [ { ptr @str.1485, i64 4 }, %if.then.1272 ], [ %callN, %if.else.1273 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_cstring(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1275, label %if.else.1276
if.then.1275: ; preds = %entry
br label %if.merge.1277
if.else.1276: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1490, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1489, i64 8 }, { ptr, i64 } %callN)
br label %if.merge.1277
if.merge.1277: ; preds = %if.else.1276, %if.then.1275
%bp = phi { ptr, i64 } [ { ptr @str.1488, i64 4 }, %if.then.1275 ], [ %callN, %if.else.1276 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_mptr_u8(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1278, label %if.else.1279
if.then.1278: ; preds = %entry
br label %if.merge.1280
if.else.1279: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1493, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1492, i64 6 }, { ptr, i64 } %callN)
br label %if.merge.1280
if.merge.1280: ; preds = %if.else.1279, %if.then.1278
%bp = phi { ptr, i64 } [ { ptr @str.1491, i64 4 }, %if.then.1278 ], [ %callN, %if.else.1279 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_isize(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1281, label %if.else.1282
if.then.1281: ; preds = %entry
br label %if.merge.1283
if.else.1282: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1496, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1495, i64 6 }, { ptr, i64 } %callN)
br label %if.merge.1283
if.merge.1283: ; preds = %if.else.1282, %if.then.1281
%bp = phi { ptr, i64 } [ { ptr @str.1494, i64 4 }, %if.then.1281 ], [ %callN, %if.else.1282 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_AR_4_Any(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1284, label %if.else.1285
if.then.1284: ; preds = %entry
br label %if.merge.1286
if.else.1285: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1499, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1498, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1286
if.merge.1286: ; preds = %if.else.1285, %if.then.1284
%bp = phi { ptr, i64 } [ { ptr @str.1497, i64 4 }, %if.then.1284 ], [ %callN, %if.else.1285 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_AR_5_Any(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1287, label %if.else.1288
if.then.1287: ; preds = %entry
br label %if.merge.1289
if.else.1288: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1502, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1501, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1289
if.merge.1289: ; preds = %if.else.1288, %if.then.1287
%bp = phi { ptr, i64 } [ { ptr @str.1500, i64 4 }, %if.then.1287 ], [ %callN, %if.else.1288 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1290, label %if.else.1291
if.then.1290: ; preds = %entry
br label %if.merge.1292
if.else.1291: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1505, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1504, i64 7 }, { ptr, i64 } %callN)
br label %if.merge.1292
if.merge.1292: ; preds = %if.else.1291, %if.then.1290
%bp = phi { ptr, i64 } [ { ptr @str.1503, i64 4 }, %if.then.1290 ], [ %callN, %if.else.1291 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @pointer_to_string__ptr_type_value(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%allocaN = alloca i64, align 8
%load = load ptr, ptr %alloca, align 8
%pti = ptrtoint ptr %load to i64
store i64 %pti, ptr %allocaN, align 8
%loadN = load i64, ptr %allocaN, align 8
%icmp = icmp eq i64 %loadN, 0
br i1 %icmp, label %if.then.1293, label %if.else.1294
if.then.1293: ; preds = %entry
br label %if.merge.1295
if.else.1294: ; preds = %entry
%loadN = load i64, ptr %allocaN, align 8
%call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1508, i64 3 }, { ptr, i64 } %call)
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1507, i64 5 }, { ptr, i64 } %callN)
br label %if.merge.1295
if.merge.1295: ; preds = %if.else.1294, %if.then.1293
%bp = phi { ptr, i64 } [ { ptr @str.1506, i64 4 }, %if.then.1293 ], [ %callN, %if.else.1294 ]
ret { ptr, i64 } %bp
}
; Function Attrs: nounwind
define internal { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %1) #0 {
entry:
%alloca = alloca { { i32 }, i1 }, align 8
%ba.tmp = alloca { i32 }, align 8
store { { i32 }, i1 } %1, ptr %alloca, align 4
%load = load { { i32 }, i1 }, ptr %alloca, align 4
%oh.has = extractvalue { { i32 }, i1 } %load, 1
%lnot = xor i1 %oh.has, true
br i1 %lnot, label %if.then.1303, label %if.merge.1304
if.then.1303: ; preds = %entry
ret { ptr, i64 } { ptr @str.1509, i64 4 }
if.merge.1304: ; preds = %entry
%loadN = load { { i32 }, i1 }, ptr %alloca, align 4
%ou.val = extractvalue { { i32 }, i1 } %loadN, 0
store { i32 } %ou.val, ptr %ba.tmp, align 4
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 133, i64 undef }, i64 %ba.p2i, 1
%call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
ret { ptr, i64 } %call
}
; Function Attrs: nounwind
define internal { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %1) #0 {
entry:
%alloca = alloca { { ptr, i64 }, i1 }, align 8
%ba.tmp = alloca { ptr, i64 }, align 8
store { { ptr, i64 }, i1 } %1, ptr %alloca, align 8
%load = load { { ptr, i64 }, i1 }, ptr %alloca, align 8
%oh.has = extractvalue { { ptr, i64 }, i1 } %load, 1
%lnot = xor i1 %oh.has, true
br i1 %lnot, label %if.then.1305, label %if.merge.1306
if.then.1305: ; preds = %entry
ret { ptr, i64 } { ptr @str.1510, i64 4 }
if.merge.1306: ; preds = %entry
%loadN = load { { ptr, i64 }, i1 }, ptr %alloca, align 8
%ou.val = extractvalue { { ptr, i64 }, i1 } %loadN, 0
store { ptr, i64 } %ou.val, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 12, i64 undef }, i64 %ba.p2i, 1
%call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
ret { ptr, i64 } %call
}
; Function Attrs: nounwind
define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 {
entry:
%alloca = alloca ptr, align 8
store ptr %1, ptr %alloca, align 8
%load = load ptr, ptr %alloca, align 8
%oh.nn = icmp ne ptr %load, null
%lnot = xor i1 %oh.nn, true
br i1 %lnot, label %if.then.1307, label %if.merge.1308
if.then.1307: ; preds = %entry
ret { ptr, i64 } { ptr @str.1511, i64 4 }
if.merge.1308: ; preds = %entry
%loadN = load ptr, ptr %alloca, align 8
%pNi = ptrtoint ptr %loadN to i64
%ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1
%call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
ret { ptr, i64 } %call
}
; Function Attrs: nounwind
define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 {
entry:
%alloca = alloca { { i32, { ptr, i64 } }, i1 }, align 8
%ba.tmp = alloca { i32, { ptr, i64 } }, align 8
store { { i32, { ptr, i64 } }, i1 } %1, ptr %alloca, align 8
%load = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8
%oh.has = extractvalue { { i32, { ptr, i64 } }, i1 } %load, 1
%lnot = xor i1 %oh.has, true
br i1 %lnot, label %if.then.1309, label %if.merge.1310
if.then.1309: ; preds = %entry
ret { ptr, i64 } { ptr @str.1512, i64 4 }
if.merge.1310: ; preds = %entry
%loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8
%ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0
store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 139, i64 undef }, i64 %ba.p2i, 1
%call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
ret { ptr, i64 } %call
}
; Function Attrs: nounwind
define internal { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %1) #0 {
entry:
%alloca = alloca { [64 x i8], i1 }, align 8
%ba.tmp = alloca [64 x i8], align 1
store { [64 x i8], i1 } %1, ptr %alloca, align 1
%load = load { [64 x i8], i1 }, ptr %alloca, align 1
%oh.has = extractvalue { [64 x i8], i1 } %load, 1
%lnot = xor i1 %oh.has, true
br i1 %lnot, label %if.then.1311, label %if.merge.1312
if.then.1311: ; preds = %entry
ret { ptr, i64 } { ptr @str.1513, i64 4 }
if.merge.1312: ; preds = %entry
%loadN = load { [64 x i8], i1 }, ptr %alloca, align 1
%ou.val = extractvalue { [64 x i8], i1 } %loadN, 0
store [64 x i8] %ou.val, ptr %ba.tmp, align 1
%ba.p2i = ptrtoint ptr %ba.tmp to i64
%ba.val = insertvalue { i64, i64 } { i64 187, i64 undef }, i64 %ba.p2i, 1
%call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val)
ret { ptr, i64 } %call
}